小编典典

转换整个目录树的行尾(Git)

all

以下情况:

我正在使用运行 OS X 的 Mac 并最近加入了一个项目,该项目的成员到目前为止都使用 Windows。我的首要任务之一是在 Git
存储库中设置代码库,因此我从 FTP 中提取了目录树并尝试将其检入到我在本地准备的 Git 存储库中。当试图这样做时,我得到的只是这个

fatal: CRLF would be replaced by LF in blog/license.txt.

由于这会影响“博客”文件夹下的所有文件,我正在寻找一种方法来方便地将树中的所有文件转换为 Unix 行尾。是否有开箱即用的工具或者我自己编写脚本?

作为参考,我的 Git 配置关于行尾:

core.safecrlf=true
core.autocrlf=input

阅读 58

收藏
2022-06-28

共1个答案

小编典典

dos2unix为您做到这一点。相当直接的过程。
dos2unix filename

感谢 toolbear,这是一个递归替换行尾并正确处理空格、引号和 shell 元字符的单行代码。

find . -type f -exec dos2unix {} \;

如果您使用的是 dos2unix 6.0 二进制文件将被忽略。

2022-06-28