2013-09-27 28 views
0

我們錯過了前一段時間我們開發的主功能。經過一番搜索之後,我們發現了該功能的一些提交。現在,如果我們運行Git不提交任何分支,發生了什麼?

git branch --contains xyz 

它不輸出任何內容。

我猜想我們不小心刪除了包含這些提交的分支。但是有什麼方法可以知道發生了什麼?

+0

有人簽出標籤並在其上開發該功能? –

+0

OP能否以某種方式使用「分離的HEAD」,而不是轉換爲將要提交的分支? – Number8

回答

0

沒有任何東西在git上被刪除(除非垃圾收集器經過),所有東西都可以被恢復,所以如果它仍然存在的話。

如果你已經安裝了gitk運行該命令並搜索失蹤的分支:

gitk --all `git reflog | cut -c1-7` 

或者只是git reflog和搜索失去了改變。

一旦發現記錄散列並檢查出來。

+0

'git'確實有[垃圾回收](https://www.kernel.org/pub/software/scm/git/docs/git-gc.html),可以刪除鬆散的對象(任何分支無法訪問的對象或標籤)曾經在一段時間。當然,您可以配置它是否應該自動使用,以及對象在被刪除之前應該保留多長時間。 – Arjan

+0

沒有gitk嗎? – Znarkus

+0

只是使用「git reflog」導航歷史記錄並搜索丟失的更改,這不像gitk的GUI那樣舒適,但可以工作。將更新答案。 – Emilio

相關問題