在 Windows 环境下,Git 默认会自动处理 CRLF 和 LF 之间的转换。
要确保这一点并自动处理换行符差异,你可以按照以下步骤配置
1. 配置 Git 自动转换 CRLF
使用 Git Bash 或命令行执行以下命令,设置 Git 自动处理换行符:
git config --global core.autocrlf true
此配置的作用是:
- 在 Windows 上的工作区中,Git 会将所有的 LF 转换为 CRLF 进行处理。
- 提交时,Git 会自动将 CRLF 转换为 LF。
2. 配置 .gitattributes
文件
如果项目中的某些文件需要保持 LF(Unix 风格换行符),你可以在项目根目录下创建或修改 .gitattributes
文件并添加以下内容:
* text=auto
这会告诉 Git 自动检测文件的内容并处理换行符转换。对于特殊文件类型(如二进制文件或 Windows 批处理文件),你可以进行如下配置:
*.bat text eol=crlf
*.sh text eol=lf
3. 重新检查文件
如果你的项目中已经存在一些不一致的换行符,可以重新标准化它们:
git add --renormalize .
4. 提交更改
重新提交更改,以确保你的换行符设置生效:
git commit -m "Normalize line endings to LF/CRLF"
经过这一步,Git 将在 Windows 上自动处理 CRLF 与 LF 的转换,避免提交时的换行符问题。