2011-12-15 53 views
10

我正在命令行上使用我的Windows 7 PC上的Git並使用TortoiseGit。這工作正常。現在我已經爲Eclipse安裝了EGit。 EGit顯示所有文件都已更改,但git狀態正確報告,沒有更改。Egit顯示已更改的所有文件

任何想法有什麼不對?

+1

eclipse是否改變了行尾的樣式(從`LF`到`CRLF`,反之亦然)? – 2011-12-15 14:16:30

+0

@DavidBrigada他說'git status`顯示沒有區別 – fge 2011-12-15 14:24:43

回答

13

我也有過類似的問題,我已經在Git的配置在Eclipse改變庫設置的以下財產

autocrlf =假

這解決了這一問題

你可以得到更多的細節下面的鏈接太多:

There is nothing changed, but eclipse egit marks the file as changed

基本上我加入這個親perty爲true以解決腳本文件中的ctrl + M字符。 現在我不知道如何解決這個問題。對此有任何想法,請分享。

2

這是一個遲到的迴應,但最近克隆git存儲庫時遇到了同樣的問題。 EGit顯示所有文件都被修改了,即使它剛剛被克隆了,git bash也沒有顯示文件中的變化。

由於您通常不希望Windows機器上出現autocrlf = false,因此我將autocrlf = true並克隆了存儲庫。然後在EGit中,我對所有文件進行了虛假修改,最後在git bash中恢復了以前提交的git reset --hard HEAD^1。這誘騙EGit認爲行結束是正確的,而不需要觸摸實際的存儲庫。在這一點之後的承諾並沒有在我的配置中重現EGit混淆。另外,當我推送到存儲庫時,不會發生意外的行結束更改。

1

我從來沒有能夠得到任何建議的解決方案的工作。我最終通過用Windows安裝的Git Bash重新克隆版本庫(我之前在Cygwin中使用Git進行了克隆)來解決該問題。

我發佈這個作爲另一個答案,以防萬一別人和我在同一條船上。

1

我也有這個問題,這讓我瘋狂!它kepts說「結帳的衝突與文件:」

無論如何,我設法(種)這種使用以下的組合確定:

團隊 - >高級 - >假定在資源不變導致衝突

然後將core.autocrlf更改爲false,並將core.whitespace設置爲空字符串。

這適用於.java文件,但.xml文件和.xsd文件仍然會導致此問題!