git line endings,需要最好的选择

时间:2011-09-13 20:52:12

标签: git

在我的存储库中,我有几个在Windows机器上的cygwin控制台中运行的shell脚本。我的问题是每次我更新这些文件时git会自动将它们转换为CRLF行结尾,我必须手动打开它们,将它们转换为unix,保存em,提交它们,在更新时重复。

现在,如果我这样做

git config --global core.autocrlf false

然后git将停止尝试通过转换行结尾来假设我想要的东西并盲目地复制它们,对吗?

有没有办法可以将此配置设置推送到我的存储库的所有用户,或者每个用户是否必须自己设置此变量

1 个答案:

答案 0 :(得分:9)

使用git-config为单个存储库设置的选项保存在.git / config中,不会推送给其他用户。

但是你可以用gitattributes获得相同的结果。属性可以在workingtree中名为.gitattributes的文件中设置,因此它将被推送给其他人。此外,它们可以设置为单个文件或模式。放

  

*.sh -text

.gitattributes文件中的

。这将停止自动转换以.sh结尾的所有文件。

或者你可以写

  

*.sh eol=lf

强制转换为unix格式。