【问题标题】:Git diff gone mad?Git diff 疯了?
【发布时间】:2011-03-01 05:13:16
【问题描述】:

我正试图弄清楚我的本地 Git 存储库发生了什么。

  1. 我编辑了一个文件。
  2. Git 报告文件中的所有内容都已更改(我只更改了一个行)
  3. 起初我认为“一定是换行问题”,但事实并非如此。我在 TortoiseGit 中做了一个差异,一切看起来都很好。我用 Netbeans(git 插件)做了一个差异,一切似乎都很好。
  4. 我进行了重置,备份文件,修改它,git 再次报告一切都已更改。
  5. 我在 Total Commander 中进行了二进制比较,除了我更改的单行之外,文件没有差异
  6. 我再次进行硬重置。 Git 告诉我它已成功完成。 Git status still 说我的文件已更改。我对这件事进行了比较,没有区别 - bug git 说有。

我尝试使用 git bash 和 gui,结果相同(我在 Windows 上)。任何线索,这里发生了什么?

【问题讨论】:

  • 仅在此存储库或所有存储库中发生?虽然你觉得不是换行问题,但还是检查一下参数core.autocrlf(git config --get core.autocrlf),应该是false

标签: git msysgit tortoisegit git-diff


【解决方案1】:

Windows 使用不同的换行符,当您在​​ Windows 环境中编辑文件时使用这些设置,然后当 Git 查看它时它无法识别换行符。您可以尝试使用 vi 将文件格式设置为 unix,这会将所有换行符转换为 unix 样式: set ff=unix 希望有帮助

【讨论】:

    【解决方案2】:

    提交有问题的文件后,我重新启动了工作站,现在一切正常(我尝试在同一个 repo 中编辑一些其他文件,差异很好)。

    不知道发生了什么。我把这个写成“Windows”...

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-11-28
      • 1970-01-01
      相关资源
      最近更新 更多