git 簽出(恢復)指定文件


在項目開發中,偶爾會因為誤刪文件或其他原因需要從git倉庫中恢復某些文件。此篇文章將介紹如何通過git從歷史提交記錄、分支記錄恢復指定文件。

 

1. git checkout

說明:使用git checkout除了可以切換分支外,還可以簽出指定文件。

語法

git checkout [<options>] [<branch>] -- <file>

APIhttps://git-scm.com/docs/git-checkout

注意:簽出后的文件將會覆蓋【工作目錄】中的相同文件;若【工作目錄】中的文件已刪除,會創建簽出的文件。

 

2. 從當前分支簽出指定文件

背景:本地倉庫有個a.txt文件,最近2次此文件的修改記錄如下:

2.1 從上一次提交中簽出指定文件

git checkout -- a.txt

提示:運行上面的命令后,將簽出上次提交時a.txt文件。

 

2.2 從指定的提交歷史中簽出指定文件

附加上commit id,將會簽出指定提交記錄中的文件:

git checkout 830cf95f56ef9a7d6838f6894796dac8385643b7 -- a.txt

 

3.從其他分支簽出指定文件

背景:一個倉庫一般有一個master分支和其他多個brach。branch主要目的是為了某個功能開發,在開發期間 master 分支可能更新了核心模塊,這時其他branch需要同步更新此模塊。

說明:只需要簽出時指定分支名稱。

命令

git checkout master -- a.txt

 

4. 簽出其他類型

除了簽出制定文件外,git還支持簽出指定目錄、制定后綴等等。

4.1 簽出某個后綴的文件

說明:簽出根目錄下所有 txt 后綴的文件。

命令

git checkout -- *.txt

 

4.2 簽出指定目錄

說明:簽出 css 目錄。

命令

git checkout -- css/

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM