每次一位同事向我发送拉取请求并且我在 GitHub 上查看它时,提交中的一些文件会显示为全新的内容,例如 1200 行删除和 1220 行添加,而他实际上只添加了 20 行新行。
这些文件没有被重新格式化,看起来几乎没有变化,但 Git 显示 100% 粉红色,然后是 100% 绿色。
任何可能导致这种情况的想法都将非常感激。
每次一位同事向我发送拉取请求并且我在 GitHub 上查看它时,提交中的一些文件会显示为全新的内容,例如 1200 行删除和 1220 行添加,而他实际上只添加了 20 行新行。
这些文件没有被重新格式化,看起来几乎没有变化,但 Git 显示 100% 粉红色,然后是 100% 绿色。
任何可能导致这种情况的想法都将非常感激。
一个真实的例子会有所帮助,但很可能......
行尾不同。Github 有一个有用的页面,解释了如何配置 git 以便透明地处理这些差异:
git config --global core.autocrlf input
# Set this setting on OSX or Linux
git config --global core.autocrlf true
# Set this setting on Windows
您也可以通过修改编辑器设置来解决问题。
git diff
可用于查看忽略空格的实际差异。它有多种模式,例如:
git diff --ignore-space-change someotherbranch
将输出一个差异,忽略缩进和行尾的差异。