2015-03-19 39 views
1

我在一個git倉庫中有一個非常奇怪的行爲,我不知道如何解決它。當git repo被拉時,文件中的最新更改沒有同步

在3月6日的代碼文件(SummitParagraphPresenter.cs)上,做了一些更改。我可以在文件夾的歷史記錄中看到它們,差異是正確的: Folder history

但是,如果我查看該特定文件的歷史記錄,則看不到該提交。 另外,如果我從存儲庫中獲取代碼,那麼它會在提交之前得到代碼。

另一個奇怪的是,VisualStudio TFS網頁代碼瀏覽器顯示文件的完整歷史記錄以及對該提交進行的更改。

我該如何解決獲取最新版本文件的問題?什麼可能導致它出錯?

謝謝

+1

你能從命令行運行git嗎?嘗試'git log - ',並與'git log --follow - '進行比較。 http://stackoverflow.com/questions/28990752/git-missing-commit?noredirect=1#comment46231919_28990752 – Gauthier 2015-03-19 10:26:53

+0

它們確實不同:只是'log'只顯示文件歷史記錄中顯示的提交。 'log --follow'還會顯示另一個提交,我「丟失」 – CodeClimber 2015-03-19 11:22:01

+0

但是,如果我理解正確,下面還會顯示何時移動文件。但在這種情況下,文件從未移動,它仍然在同一個文件夾中,具有相同的文件名 – CodeClimber 2015-03-19 11:49:48

回答

0

爲什麼提交的文件的歷史記錄並沒有顯示可能是因爲您的工具不會調用git log--follow原因。看看你是否可以設置使用--follow

我爲什麼的「隱藏」的修改提交的工作文件沒有顯示猜測:

  • 你沒有最新提交簽出
  • 在隱藏引入的變化提交在另一個提交中被恢復。例如在手動解決衝突時,可能會發生這種情況,而不會注意到。請參閱this。看到git log --graph --oneline --follow -- <path/to/your/file>的結果會很有趣。
+0

是的,我明白這是情況(更改由另一個提交恢復),但我希望在歷史中看到誰做了合併,搞砸了一切:) 您所要求的命令行命令給出如下,只是一個更好的格式和許多彩色條:) – CodeClimber 2015-03-19 12:42:31

+0

我希望你會看到歷史上的合併提交,並看看什麼發生在那裏。希望你會看到回覆,也許會得到開發商的責任:)(它通常是自己)。 – Gauthier 2015-03-19 13:45:09

+0

瀏覽歷史記錄我發現後來的合併恢復了一些更改。但現在必須恢復提交。這種合併在歷史中沒有出現,這很奇怪 – CodeClimber 2015-03-19 14:44:26

相關問題