2010-06-08 157 views
0

我想弄清楚我的本地Git回購是怎麼回事。Git diff發瘋了嗎?

  1. 我編輯一個文件。
  2. Git的報告一切文件中已改變(我只改一個線)
  3. 起初我認爲「必須是一個換行符問題」,但事實並非如此。我在TortoiseGit中做了一個差異,一切看起來都很好。我用Netbeans(git插件)做了一個差異,一切似乎都很好。
  4. 我做了重置,備份文件,修改它,git再次報告一切都改變了。
  5. 我在Total Commander裏做了一個二進制比較,文件有沒有差別除了我改變的那一行。
  6. 我再次進行硬復位。 Git告訴我它已經成功完成了。 Git狀態仍然說我的文件已經改變。我分辨的東西,沒有區別 - bug git說有。

我試過使用git bash和gui,結果相同(我在Windows上)。任何線索,這裏發生了什麼?

+0

它只發生在這個存儲庫或所有的存儲庫?儘管你認爲它不是一個換行符問題,但無論如何請檢查參數'core.autocrlf'('git config --get core.autocrlf'),它應該是'false'。 – max 2010-06-08 15:04:53

回答

0

在我提交了有問題的文件後,我重新啓動了工作站現在一切似乎都是按順序的(我試過在同一個回購庫中編輯一些其他文件,差異很好)。

不知道發生了什麼事。我正在寫下這個作爲「Windows」...

1

Windows使用不同的換行字符,當您在​​Windows環境中編輯文件時使用這些設置,那麼當Git查看它時,它不會識別換行符。您可以嘗試使用vi將fileformat設置爲unix,將所有換行字符轉換爲unix樣式:set ff = unix 希望可以幫到