提交时发现大量文件修改
commit的时候发现几乎所有文件都显示修改过
一般解决流程
任意比较一个文件 找出改动点
git diff
如果提示autocrlf变换
那么应该是自动转换了换行符 使用以下命令即可
git config --global core.autocrlf false
如果提示mode变换
git config --global core.filemode false
操作完重新commit即可
换行符问题
原项目如果使用Linux换行符LF
在windows下拉取项目 可能就会自动转成windows下的换行符 CRLF
可以打开git bash设置一下
# Git 在拉取代码时不进行换行符的转换
git config --global core.autocrlf true
# 在提交时将换行符转换为 LF(Linux 格式的换行符)
git config --global core.eol lf
# 提交时转换为LF,检出时转换为CRLF
git config --global core.autocrlf true
# 提交时转换为LF,检出时不转换
git config --global core.autocrlf input
# 提交检出均不转换
git config --global core.autocrlf false
提交时报错
git异常退出之后 还原不了文件
fatal: Unable to create '/home/467314/go/project/.git/index.lock': File exists.
原因分析
git在执行耗时操作的时候为了避免对同一个目录进行多个操作的冲突 ,会自动生成一个index.lock文件。作为锁文件。操作结束时git会自动删除该文件。
当git在运行过程中,用户强制关闭了git,导致git无法自动删除index.lock。导致之后git执行操作的时候,都会查询到有index.lock文件的存在,而认为有其他git进程在操作该工程,于是当前git无法进行操作。
解决
手动删除 .git/index.lock即可