在我们的git repo中,我们的文件有时会在行尾添加额外的回车符。当我在vim中查看文件时,我会看到;
<?xml version="1.0" encoding="utf-8"?>^M
<Root>^M
<Child/>^M
</Root>^M
这些额外的^M
将出现在文件的每一行上。当我们合并时,这会导致问题,因为合并的另一端将没有额外的^M
,并且我们会遇到许多合并冲突。将选项忽略空白传递给git merge
似乎没有帮助,它在整个文件上仍然存在冲突。
我们使用git config core.autoclrf true
。
我需要两件事;
^M
?这样我就可以使用一些git ls-files | grep <filter here> | sed 's/^M//'
来摆脱它们。答案 0 :(得分:0)
我按照@Biffen的建议使用unix2dos
(我在Windows上)以及链接问题here中的答案来解决此问题。
答案 1 :(得分:0)
How to normalize working tree line endings in Git?的答案非常适合修复 new 提交。 (请参阅已接受的方法和现代的Git 2.16或更高版本的t1 int, t2 int, t3 text, t4 boolean
技巧。)
要更轻松地处理 old 提交,请使用重新规范化扩展选项:git add --renormalize
。这会将您当前的git merge -X renormalize [other options you want if any] branch
设置应用于要合并的每个文件的所有三个版本。