cal*_*rae 170 git whitespace git-merge
我有一个问题,我有一个大的提交,它改变了大约一千行代码,从行的末尾删除空格并删除选项卡前的空格.
此项目还有大约50个拉取请求,当我的提交合并时,这些请求都会发生冲突.有没有办法可以设置git,以便在合并未来的提交时,它忽略了其中一个只是空白变化的冲突?
无法修改git本身或使用第三方工具,但使用钩子很好.
Von*_*onC 230
git merge -Xignore-all-space
Run Code Online (Sandbox Code Playgroud)
或者(更精确)
git merge -Xignore-space-change
Run Code Online (Sandbox Code Playgroud)
应足以在合并期间忽略所有与空间相关的冲突.
见git diff:
--ignore-space-change
Run Code Online (Sandbox Code Playgroud)
忽略空格量的变化.
这会忽略行尾的空格,并将一个或多个空白字符的所有其他序列视为等效.
--ignore-all-space
Run Code Online (Sandbox Code Playgroud)
比较线条时忽略空格.
即使一行有空格而另一行没有空格,这也会忽略差异.
ks1322 在评论中添加了一个很好的建议:
--no-commit在实际提交之前合并并查看合并是值得的.
该OP卡勒姆·麦克雷报告说,在这种情况下,合并不中断地进行,并包含在拉请求补丁尾随空格被应用到本地文件.
但是,OP使用预先提交钩子来处理所述尾随空格.
(我想有点类似于这个,也在这里引用).
这里引用了 OP的预提交钩子:
除了删除尾随空格之外,它还会在标签之前删除一到三个空格(我将标签宽度设置为4),并添加EOL.
我有报告称添加EOL的代码会删除Windows中的文件,但无法复制它.
| 归档时间: |
|
| 查看次数: |
65978 次 |
| 最近记录: |