Windows系统下Git换行符问题的完整解决方案

这个问题是换行符差异 导致的,通常是 CRLF(\r\n)LF(\n) 在 Windows 和 Unix/Linux 系统之间的差异。

如果你使用的是小乌龟,通过修改小乌龟的设置即可解决问题,亲测有效。

常见解决方案:

1. 核心设置(推荐)

在 Git Bash 或命令行中执行:

bash 复制代码
# 提交时自动将 CRLF 转换为 LF
git config --global core.autocrlf true

# 或者更严格的设置(Windows推荐)
git config --global core.autocrlf input

# 检查当前设置
git config --global core.autocrlf

2. 更彻底的解决方案

bash 复制代码
# 1. 设置 git 不检测换行符变化
git config --global core.safecrlf false

# 2. 设置 git 不自动转换换行符
git config --global core.autocrlf false

# 3. 设置 git 的 diff 忽略换行符差异
git config --global core.whitespace cr-at-eol

3. 使用 .gitattributes 文件(项目级解决方案)

在项目根目录创建 .gitattributes 文件,内容:

复制代码
# 对所有文件设置
* text=auto eol=lf

# 或者指定特定文件类型
*.html text eol=lf
*.css text eol=lf
*.js text eol=lf
*.json text eol=lf
*.md text eol=lf

4. 如果你已经提交了有问题的文件

bash 复制代码
# 重置工作区
git rm --cached -r .
git reset --hard

# 或者只重置特定文件
git checkout -- <file>

5. 针对 TortoiseGit(小乌龟)的额外设置

  1. 右键 → TortoiseGit → Settings
  2. 在 "Git" 标签页下:
    • 修改 "Global" 配置

    • 添加或修改:

      复制代码
      [core]
          autocrlf = true
          safecrlf = false

推荐配置组合:

对于 Windows 用户:

bash 复制代码
git config --global core.autocrlf true
git config --global core.safecrlf false

对于跨平台团队:

bash 复制代码
git config --global core.autocrlf input

验证设置:

bash 复制代码
# 查看所有相关配置
git config --global --list | grep -E "(core|autocrlf|safecrlf)"

注意:这些设置主要影响新提交的文件。对于已有文件,可能需要先统一换行符格式再重新提交。

相关推荐
呉師傅2 小时前
【使用技巧】Adobe Photoshop 2024调整缩放与布局125%后出现点菜单项漂移问题的简单处理
运维·服务器·windows·adobe·电脑·photoshop
梦帮科技3 小时前
OpenClaw 桥接调用 Windows MCP:打造你的 AI 桌面自动化助手
人工智能·windows·自动化
春日见5 小时前
如何创建一个PR
运维·开发语言·windows·git·docker·容器
C++ 老炮儿的技术栈5 小时前
VS2015 + Qt 实现图形化Hello World(详细步骤)
c语言·开发语言·c++·windows·qt
浩浩测试一下6 小时前
内网---> WriteOwner权限滥用
网络·汇编·windows·安全·microsoft·系统安全
一个人旅程~6 小时前
Dell n4020双系统分区步骤和linux优化操作
linux·windows·电脑
love530love6 小时前
【高阶编译】Windows 环境下强制编译 Flash Attention:绕过 CUDA 版本不匹配高阶指南
人工智能·windows·python·flash_attn·flash-attn·flash-attention·定制编译
勾股导航7 小时前
Windows安装GPU环境
人工智能·windows·gnu
x***r1517 小时前
PhpStudy2018怎么用?完整安装与使用指南(新手必看)
windows
一品人家13 小时前
win32汇编使用GDI+入门教程之九
汇编·windows·win32汇编