2013-02-15 189 views
0

隨着我所在的團隊的成長,我們看到了一些由於合併錯誤而導致提交丟失的情況。Git - 恢復丟失的提交

我們正在研究教育方面,但是當發生這種情況時,git中恢復丟失提交的最佳方法是什麼? - 我聽說過使用類似git bisect這樣的命令並手動檢查每個提交。還有什麼可以幫助的?

+0

感謝您的回覆。我會在下次遇到這樣的場景時嘗試一下總結。 – rynmrtn 2013-02-15 16:31:20

回答

2

看起來你需要git fsck --lost-found

+0

除了檢查對象的有效性和連接性之外,您還可以詳細介紹一下這個功能嗎? – rynmrtn 2013-02-15 16:35:54

+0

從git-fsck的手冊頁:'根據類型將懸掛對象寫入.git/lost-found/commit /或.git/lost-found/other /。如果對象是blob,則將內容寫入文件中,而不是其對象名稱。' – hd1 2013-02-28 08:20:01

2

git reflog可以用來找出那些不再對任何分支,但尚未gc'ed提交的提交哈希值。

+0

似乎reflog僅存儲本地活動,並且在遙控器上的可用性較差。 – rynmrtn 2013-02-15 16:53:45

+0

是的,沒錯。 – 2013-02-15 16:54:31