2

在我的项目中,有多种环境(Windows、Linux、Mac OS)。

有些人最初对 Git 的设置是错误的,所以在 git 存储库中,一些文件与 CRLF 混合在一起(我希望 git repo 中的所有文件都是 LF)。

我怎样才能快速修复所有现有的 CRLF 回购到 LF (我的开发环境仅限于一些简单的编辑器 - Visual Studio,Sakura 编辑器,...)。一根一根地修复线结束是非常耗时的。

感谢任何建议。

4

2 回答 2

2

在存储库的根目录中运行以下命令应该可以满足您的需要。(如果您使用的是 Windows,请在 Git Bash 中运行它。)

find . -type f -not -path './.git/*' -print0 | xargs -0 dos2unix
于 2021-11-27T20:02:40.480 回答
1

如果你只需要这样做一次,你可以使用notepad++之类的东西,它允许查找和替换目录中的文件。您可以使用“搜索”>“在文件中查找...”并使用“扩展模式”将 CRLF 更改为 LF,查找:\r\n 并替换:\n。

详细信息在这篇文章中:一次性更改多个文件的 EOL

或者,如果你在 linux 上,看起来你可以使用 dos2unix,如果你的系统上还没有,可以安装它。

来源:https ://linux.die.net/man/1/dos2unix

如果您想定期执行此操作,您应该能够编写脚本。或者像这样从命令行使用 Vim:

vim file.txt -c "set ff=unix" -c ":wq"

这些选项在这里详细说明,只是使用与您不同的参数:如何在 Bash 脚本中将 DOS/Windows 换行符 (CRLF) 转换为 Unix 换行符 (LF)

于 2021-11-27T03:46:09.187 回答