2010-06-08 103 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 希望可以帮到