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

Git add --renormalise在Windows旧仓库不生效,如何处理?

解决Git行尾归一化无变更的问题

不需要专门到Unix机器上操作,Windows环境下就能完成行尾归一化,核心是先配置好.gitattributes并临时调整autocrlf设置,让Git识别到需要转换的行尾变更。具体步骤如下:

  1. 添加.gitattributes配置文件
    在仓库根目录创建.gitattributes,这是跨平台行尾处理的核心规则,内容如下:

    * text=auto
    

    这个配置告诉Git自动识别文本文件,将仓库内的文件统一存储为LF,检出时根据操作系统自动转换为CRLF(Windows)或LF(Unix)。

  2. 临时关闭当前仓库的autocrlf转换
    在Windows命令行执行:

    git config core.autocrlf false
    

    这一步是关键——之前执行git add --renormalise .无变更,是因为Windows下autocrlf默认开启时,Git会保持本地文件为CRLF(和远程仓库一致),无法触发转换。关闭autocrlf后,Git会严格按照.gitattributes的规则处理行尾。

  3. 执行归一化并提交变更
    运行命令让Git重新归一化所有文件:

    git add --renormalize .
    

    此时Git会将本地的CRLF文本文件转换为LF,标记为待提交变更。随后提交:

    git commit -m "Normalize line endings to LF in repository"
    
  4. 恢复Windows环境的autocrlf设置
    提交完成后,把autocrlf改回适合Windows的设置(确保本地检出文件为CRLF):

    git config core.autocrlf true
    
  5. 推送到远程仓库
    最后推送变更到远程:

    git push
    

后续注意事项

  • 其他开发者拉取变更后,需要确保自己的Git客户端配置了正确的autocrlf(Windows设true,Unix设input或false),并建议重新克隆仓库或执行git reset --hard来同步行尾设置,避免本地文件出现行尾混乱。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 08:10:53