EOL格式补丁和^ M在EOL

时间:2011-12-18 14:40:53

标签: git format-patch

我正在努力为一个文件创建一个补丁,该文件在一行的末尾包含一些^ M. 当我编辑文件时,我没有看到^ M,但是format-patch创建的补丁确实在补丁区域上下文中指出了它。所以当我尝试将它应用到一个新的git树上时,git am正在搜索行尾的^ M但是没有看到它;这是一个错误的结果。

git format-patch的任何想法或解决方法都不能考虑这个^ M吗?

提前致谢

PS:对于上下文,我对这个git树没有写访问权限,这就是我需要制作补丁的原因。

2 个答案:

答案 0 :(得分:1)

Git表示带有^ M的Windows风格的线条的CR。如果将File转换为Unix风格的lineendings,这些应该会消失。

  

关闭autocrlf的一个缺点是git diff的输出将CR字符(由^ M表示)突出显示为空白错误。要关闭此“错误”,您可以使用core.whitespace设置:

比照http://lostechies.com/keithdahlby/2011/04/06/windows-git-tip-hide-carriage-return-in-diff/或此StackOverflow问题:git-diff to ignore ^M

答案 1 :(得分:0)

git format-patch --ignore-space-change --ignore-whitespace -1 mychanges.patch

这对我有帮助。如果您阅读this,可以更好地理解。