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

git add操作异常:追加内容时末行被重复标记为修改

解决Git add后文件最后一行被重复标记修改的问题

问题根源是文件末尾缺少换行符导致Git的diff识别异常:初始的file-a.txt内容"1"没有末尾换行,Git会标注\ No newline at end of file;当你添加"2"后,文件依然没有末尾换行,Git会把原行的换行符缺失状态的变化识别为整行修改,从而出现原行被删除再添加的误判。

快速解决当前问题

  • 编辑file-a.txt,在最后一行"2"的末尾按Enter添加一个换行符
  • 重新执行git add .
  • 此时执行git diff --cached,只会显示新增的"2"行,原行"1"不会再被标记为修改

配置Git避免后续同类问题

根据你的操作系统配置Git的换行符处理规则:

  • Linux/macOS用户,保持本地换行符一致:
    git config --global core.autocrlf false
    
  • Windows用户,自动转换提交和检出的换行符:
    git config --global core.autocrlf true
    
  • 可选:开启换行符变更警告,防止意外修改:
    git config --global core.safecrlf warn
    

内容的提问来源于stack exchange,提问作者power-user

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.08 04:42:38