问题描述:
从gitlab上拉一个项目,出现以下非常多的已修改文件,
问题解决:
Unix/Linux 系统使用的是 LF 用作换行符。Windows 一直使用的 CRLF(即,回车 CR和换行 LF)作为换行符。然而, git 入库的代码采用的是 LF 格式换行。为了实现跨平台的写作,git 提供了 “换行符自动转换” 功能。如果从linux拉取项目,git会将拉取的文件CRLF格式符转换成LF,在push的时候又将LF转换成CRLF。
可以禁用 git 的换行符自动转换功能。
- 修改 git 的本地配置文件。在本地路径 C:\Users[用户名]目录下,找到配置文件 .gitconfig,在 “[core]” 下添加如下内容:
autocrlf = false
filemode = false
safecrl = true
- 通过命令行修改 git 的配置:
/* 不转换换行符 /
git config --global core.autocrlf false
/ 忽略文件权限修改 /
git config --global core.filemode false
/ 允许提交包含混合换行符的文件 */
git config --global core.safecrlf true