2013-04-03 85 views
1

我遇到了一個我無法解釋的git問題,也沒有找到修復的方法。提交沒有正確顯示

我有一個存儲庫,包含15000多個文件(大約650 MB),並且在過去的一週左右,我一直在失去提交,或者它們至少沒有正確顯示。它不會發生每次提交/推送,但是是隨機的(就像它似乎)。我用Stash前端運行git。我想不出任何可能導致這種行爲的基礎設施變化等。

如果我在目錄aaa/bbb/ccc中更改名爲test.xml的文件,並提交併推送,我可以在稍後的時間點有時不會看到更改已完成的repo克隆或任何其他克隆。如果我做'git log',就沒有日誌條目。如果我在目錄ccc中做'git log',我可以在父目錄aaa和bbb中看到日誌條目和相同的內容。

如果我做了'git reflog',那麼這個改變就在那裏,並且在正確的分支(主)上,如果我做了'git branch --contains'(在任何克隆中),它都可以在master分支中找到。

這是所有在Windows上使用git 1.7.11.msysgit.1運行。

+0

只是爲了澄清:1.您推送的這些變更沒有顯示在您所推送的「遠程」存儲庫中? 2.通過 「Stash frontend」你的意思是[Atlassian Stash](http://www.atlassian.com/software/stash/overview)? – 2013-04-03 20:14:20

+0

1.正確。在裸機倉庫中執行'git log'時,我會得到相同的行爲。 2.正確。 – 2013-04-04 06:05:40

+0

一個隨機的可能性是你可能已經在aaa/bbb/ccc中初始化了另一個git倉庫,這將解釋''log''輸出的差異,以及你的提交沒有反映在遙控器中的事實。你可以驗證沒有額外的''.git''目錄,並且你的遙控器配置正確嗎?否則,我建議與Atlassian人討論,或者將問題帶入更加互動的領域,比如SO聊天或IRC。希望有幫助:) – 2013-04-04 15:35:21

回答

1

回答我的問題...

原來,「丟失」的提交可以通過在命令中找到「git的日誌--follow」。爲什麼git認爲那些提交是'重命名'仍然有點神祕,但可能由更改被稍後的合併提交覆蓋,原始更改放回甚至稍後提交,然後再被幾個合併提交覆蓋。