git的换行符自动转换导致未修改也要提交
1、问题:git提交的时候,发现一些文件即使没有修改也要提交
2、原因:
LF和CRLF其实都是换行符,但是不同的是,LF是linux和Unix系统的换行符,CRLF是window 系统的换行符。这就给跨平台的协作的项目带来了问题,保存文件到底是使用哪个标准呢? git为了解决这个问题,提供了一个”换行符自动转换“的功能,并且这个功能是默认处于”自动模式“即开启状态的。
这个换行符自动转换会把自动把你代码里 与你当前操作系统不相同的换行的方式 转换成当前系统的换行方式(即LF和CRLF 之间的转换),这样一来,当你提交代码的时候,即使你没有修改过某个文件,也被git认为你修改过了
3、解决:
如果项目是多人合作建议不要去掉,因为当你和同事是不同平台的时候,关掉有可能会报错
git config core.autocrlf false (仅对当前git仓库有效) git config --global core.autocrlf false (全局有效,不设置推荐全局)