我一直在使用git并将autocrlf设置为true一段时间。我一直在使用git-svn通过cygwin。它给我带来了很多问题,我看到here和here我应该把它关掉。如何“撤消主干和主人之间的伤害?”
答案 0 :(得分:4)
如果您只想在一次提交中修复它,然后不管它,您可以执行以下操作:
find . -not \( -path ./.git -prune \) -type f -exec sed -i -e 's/\r//g' {} +
注意:这将从存储库中的每个文件中删除CR。在-name '*.someext'
之后添加-type f
或其他条款以调整查找范围。
如果你想编辑之前的提交(注意这会打破其他人试图将他们的更改合并到你的分支中!),你可以使用git filter-branch
- 写一个类似于{{1}的脚本调用上面的内容,然后用类似
find
这将重写历史记录,消除源代码存储库中曾经存在的任何CR。请注意,如果您在git-svn创建的任何提交中运行它,这可能会破坏git-svn。您可以使用类似git filter-branch --tree-filter /full/path/to/myscript.sh master otherbranch
的内容仅在本地提交上运行它。