2011-06-07 44 views
5

一旦拉動(進入清潔生產型回購),所有變更集都會遇到,並導致文件出現修改並需要提交。 git log沒有顯示應該導致這些更改的提交 ...這些更改只是在沒有日誌備註的情況下提取,因此它認爲它不同步。Git pull導致「需要更新」和文件顯示爲已修改

對於每個文件,拉動的結果顯示「需要更新」消息。

+2

你在Windows上使用Git的?通常,這些事情發生在lineendings(crlf/lf)之間的轉換無法正常工作時發生。什麼是git diff的輸出?如果只有線條被相同的線條所取代,那最有可能是線條結尾被改變。 – 2011-06-07 09:16:06

+0

沒有。在Mac上。我應該也提供了這是一個簡單的主人拉師傅。我一直在用這個回購工作一段時間。 – doublejosh 2011-06-07 18:19:18

+0

當發生衝突時,我看到了這種行爲。 Git嘗試(並失敗)合併遠程更改,而將所有更改(包括上述遠程更改)顯示爲一個大的本地更改。 – 2011-06-07 18:27:51

回答

3

我是怎麼搞的一塌糊塗:

正如我不停地拉來測試我的解決方案,我不得不利用...

git reset --hard其移動回你到最近犯日誌。

git clean -fd自從最近在日誌中提交以來,它會殺死未跟蹤的文件。

最終我決定需要將違規設置文件更改爲chmod 777提交權限更改。另一種選擇將是更多的改變這裏的Git進入許可不可知模式git config core.filemode false閱讀:How do I make Git ignore file mode (chmod) changes?

然後我做了一個拉合併的變化,並與文件一起日誌更新,改變了違規文件的權限回到644並承諾......並將其推回到工作主人(很高興這是允許的)。

似乎是這樣的一個錯誤,即具有權限失敗允許合併文件變更集但日誌歷史記錄不'不反映提交!

BTW:我git --versiongit version 1.5.6.5

+0

BTW:這與文件權限有關。相信有時候Git認爲它沒有權限,甚至認爲實際的變化確實發生了......所以它進入了一個不正確的狀態。 – doublejosh 2012-02-27 21:36:57

5

在本Git project所示,當混帳試圖調整EOL樣式在Unix開發的項目會發生這種情況,並克隆在Windows上:

via msysgit Troubleshooting

run command in git bash: git config --global core.autocrlf false if this is not done then git svn rebase reports "needs update" thinking that changes have been made to the source May run into troubles with the commit

看到這個SO answer for more

+0

對不起,謝謝,但我不認爲是這樣。我在Mac上,所發生的變化是對文件的實際更改(實際編輯),但git日誌不會隨歷史記錄一起更新,所以它會抱怨不同步。 OOORRR也許我只是不明白你的答案:) – doublejosh 2011-06-07 18:20:53

+0

@doublejosh:不,你似乎理解我的答案就好。也許克里斯的評論會有所幫助? – VonC 2011-06-07 19:11:47

相關問題