You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Git add命令失效?推送GitHub时遇LF转CRLF警告求助

解决Git add失败及LF/CRLF换行符警告问题

一、警告原因说明

这个警告源于Git的换行符自动转换机制:不同操作系统默认换行符不同(Windows用CRLF,Linux/macOS用LF),Git的core.autocrlf配置会自动转换换行符,当本地文件换行符与Git预期规则不符时,就会触发该警告,部分场景下也会干扰git add的正常执行。

二、分步解决方法

1. 调整Git换行符全局配置

根据你的操作系统选择对应命令:

  • Windows环境:保留自动转换逻辑,适配系统默认换行符
    git config --global core.autocrlf true
    
  • Linux/macOS环境:仅在提交时将CRLF转为LF,本地保持LF
    git config --global core.autocrlf input
    
  • 跨平台开发场景:强制统一使用LF,禁用自动转换
    git config --global core.autocrlf false
    git config --global core.eol lf
    

2. 修复现有文件的换行符

调整配置后若警告仍存在,批量修正已有文件的换行符:

# 移除暂存区所有文件
git rm --cached -r .
# 重新添加所有文件(此时会按新配置处理换行符)
git add .
# 提交换行符修正的变更
git commit -m "Standardize line endings to LF"

3. 针对特定目录/文件设置规则(可选)

对于.dart_tool这类自动生成的目录,可在.gitattributes中添加规则,避免Git处理其换行符:

# 排除自动生成目录的换行符转换
.dart_tool/** -text
# 指定Android目录及配置文件使用LF
android/** text eol=lf
analysis_options.yaml text eol=lf
.gitattributes text eol=lf

三、排查Git add失效的其他可能

若换行符问题解决后git add仍无法工作,检查以下点:

  • 目标文件是否被系统锁定或无读写权限
  • 是否存在超出GitHub限制的大文件(单个文件最大100MB)
  • 仓库是否损坏,可执行git fsck检查仓库完整性

内容的提问来源于stack exchange,提问作者rabia

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.30 20:39:19