如何设置TortoiseGit在提交、日志及Diff窗口忽略行尾差异?
解决TortoiseGit显示仅行尾(EOL)变更文件的问题
我之前也踩过跨平台EOL的坑,命令行git diff明明不搭理这些空变更,TortoiseGit却把这类文件列出来占位置,确实挺闹心的。要让它和命令行表现一致,有两种靠谱的解决方式:
方法一:通过TortoiseGit图形界面设置
- 右键项目文件夹,选择「TortoiseGit」→「Settings」打开设置窗口
- 在左侧菜单找到「Diff Viewer」选项
- 在右侧的「Advanced Settings」区域,找到忽略空白变更相关的选项,勾选「Ignore line endings」(部分版本可能显示为「Treat all line endings as identical」)
- 点击「确定」保存设置,之后再打开提交窗口,那些仅EOL变更的文件就不会被列出来了
方法二:修改Git全局/局部配置
因为TortoiseGit是基于Git核心运行的,直接配置Git的diff规则也能生效:
- 全局配置(所有项目生效):打开命令行执行
这个配置专门用来忽略行尾的回车符差异,正好对应EOL变更的场景。git config --global diff.ignoreCrAtEol true - 局部配置(仅当前项目生效):进入项目根目录,执行
git config diff.ignoreCrAtEol true
另外,为了从根源减少EOL问题,建议统一跨平台的Git配置:
- Windows环境执行:
git config --global core.autocrlf true(提交时自动把CRLF转LF,拉取时转回CRLF) - *NIX环境执行:
git config --global core.autocrlf input(提交时转LF,拉取时保持LF)
如果设置后还是没生效,右键项目→「TortoiseGit」→「Cleanup」清理一下缓存,刷新状态就正常了。
内容的提问来源于stack exchange,提问作者ysap
相关产品推荐
相关产品推荐

