在Git存儲(chǔ)庫中查找和還原已刪除的文件假設(shè)我在一個(gè)Git倉庫里。我刪除一個(gè)文件并提交更改。我繼續(xù)工作,并作出更多的承諾。然后,我發(fā)現(xiàn)我需要恢復(fù)那個(gè)文件。我知道我可以用git checkout HEAD^ foo.bar但我不知道那個(gè)文件是什么時(shí)候被刪除的。找到刪除給定文件名的提交的最快方法是什么?把文件放回我的工作副本最簡(jiǎn)單的方法是什么?我希望我不必手動(dòng)瀏覽日志,為給定的SHA簽出整個(gè)項(xiàng)目,然后手動(dòng)將該文件復(fù)制到我的原始項(xiàng)目簽出中。
3 回答

慕神8447489
TA貢獻(xiàn)1780條經(jīng)驗(yàn) 獲得超1個(gè)贊
使用 git log --diff-filter=D --summary
獲取已刪除文件和已刪除文件的所有提交; 使用 git checkout $commit~1 path/to/file.ext
若要還原已刪除文件,請(qǐng)執(zhí)行以下操作。
$commit
e4cf499627

RISEBY
TA貢獻(xiàn)1856條經(jīng)驗(yàn) 獲得超5個(gè)贊
git ls-files -d | xargs git checkout --
- 3 回答
- 0 關(guān)注
- 1471 瀏覽
添加回答
舉報(bào)
0/150
提交
取消