我将DOS格式的文件推送到git(行尾的\ r \ n)
但是当我在我的构建服务器(Ubuntu)上克隆git repo时,该文件位于Unix文件格式中(\ n在该行的末尾)
如何更改此行为?
Git man和搜索没有帮助我。
答案 0 :(得分:9)
Git可以通过在提交时自动将CRLF行结尾转换为LF来处理使用回车字符和换行字符换行的Windows行为,反之亦然,当它将代码签出到您的文件系统时。您可以使用core.autocrlf
设置启用此功能。如果您使用的是Windows计算机,请将其设置为true - 这会在您签出代码时将LF结尾转换为CRLF:
$ git config --global core.autocrlf true
如果您使用的是使用LF行结尾的Linux或Mac系统,那么您不希望Git在您签出文件时自动转换它们;但是,如果意外引入了CRLF结尾的文件,那么您可能希望Git修复它。您可以告诉Git在提交时将CRLF转换为LF,但不是通过将core.autocrlf设置为输入来反转:
$ git config --global core.autocrlf input
此设置应该会在Windows结帐时留下CRLF结尾,但在Mac和Linux系统以及存储库中会有LF结尾。
如果您是Windows程序员,只执行Windows项目,那么您可以关闭此功能,通过将配置值设置为false来记录存储库中的回车:
$ git config --global core.autocrlf false
答案 1 :(得分:1)
设置以GIT结尾的默认行可以解决您的问题。
git config --global core.autocrlf true
设置GIT行结尾的快速谷歌搜索给了我这个。 https://help.github.com/articles/dealing-with-line-endings#platform-windows