可能重复:
git用CRLF替换LF
当我创建一个新的rails应用程序时,我在git中看到有关LF替换的警告.我做git init git add.
然后热潮!我看到几乎所有文件都弹出.我通常只是继续构建我的应用程序,它在文件的许多更改后消失了.
例:
该文件将在您的工作目录中具有其原始行结尾.警告:LF将被Gemfile中的CRLF替换.
该文件将在您的工作目录中具有其原始行结尾.警告:LF将被Gemfile.lock中的CRLF替换.
该文件将在您的工作目录中具有其原始行结尾.警告:LF将由README中的CRLF替换.
LF和CRLF有什么区别?
从长远来看,我是否应该关注这一点,或者只是忽略它并像往常一样继续前进?
是否有文件或菜单可以让我更改如何处理行结尾的设置?
有3种选择:
结帐Windows风格,提交Unix风格
签出文本文件时,Git会将LF转换为CRLF.提交文本文件时,CRLF将转换为LF.对于跨平台项目,这是Windows上的推荐设置("core.autocrlf"设置为"true")
Checkout as-is,提交Unix风格
签出文本文件时,Git不会执行任何转换.提交文本文件时,CRLF将转换为LF.对于跨平台项目,这是Unix上的推荐设置("core.autocrlf"设置为"input").
按原样结帐,按原样提交
签出或提交文本文件时,Git不会执行任何转换.不建议跨平台项目选择此选项("core.autocrlf"设置为"false")
我在部署到Windows,Linux和Mac客户端的Java项目上使用git。对于此Java项目,我还维护用于在Mac / Linux上运行已编译二进制文件的* .sh脚本和用于在Windows上运行已编译二进制文件的.exe / .bat文件。我的开发环境是Windows。
Git的autocrlf功能将我的* .sh脚本中的行终止符转换为Windows格式,这使它们在部署后在Linux / Mac上无用。我想将它们保存为Unix格式,并让git单独保留行终止符。可以将git配置为忽略这些特定文件的autocrlf(单个文件夹中有三个文件)吗?如果是这样,怎么办?