Git:恢復一個已經在提交中被刪除的文件

我的博客的源地址,希望大家照顧一下~

這裏要研究的問題是,如果我們在之前的某一個提交中刪除了一個文件,如何使用git將此文件恢復出來。

首先我們要做的是找到當時刪除的這個文件對應的提交。比較簡便的方法是使用一些圖形化的Git軟件,可以直接瀏覽找到對應的提交。這些軟件包括SourceTree,Github Desktop等。純命令行的環境可以使用如下的命令:

git log --diff-filter=D --summary

在找到對應的提交後,使用如下命令:

git checkout $commit~1 path/to/file.ext

注意一下,這裏的$commit指的是對應的commit id。後面的~n是git的一種語法,表明追溯某個提交的第n個祖先。詳情可以參考Git Treeishes Considered Awesome。那這裏的意思就是檢出刪除這個文件的提交的上一個提交(屆時那個文件還存在)中的對應文件。

參考鏈接

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章