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

如何在Git中重新检出所有文件,将CRLF转换为LF?

解决Git检出文件始终为CRLF的问题

我太懂这种闹心的情况了——明明关了autocrlf,Git却还是死咬着CRLF不放,diff全红根本没法正常用。不用手动逐个转格式,也不用碰awk/sed脚本,按下面的步骤走,就能直接拿到LF格式的全新本地副本:

步骤1:确认全局autocrlf配置

先再核对一遍你的全局配置是否真的生效,执行:

git config --global core.autocrlf

如果输出不是false,重新设置一次:

git config --global core.autocrlf false

步骤2:让Git默认用LF检出(全局/仓库级二选一)

  • 要是想让所有仓库都默认用LF,就设全局配置(完全不碰.git目录):
    git config --global core.eol lf
    
  • 要是只针对当前仓库(会改动.git/config,介意的话选上面的全局配置):
    git config core.eol lf
    

这个配置会明确告诉Git:检出文件时强制用LF换行符。

步骤3:清除Git的文件索引缓存

Git的索引里大概率缓存了旧的换行符状态,先把所有文件从索引中移除(不会删除本地文件):

git rm --cached -r .

步骤4:重新生成索引并强制检出LF格式文件

先把文件重新加入索引,让Git读取新的换行符规则:

git add .

最后强制检出,让Git用LF格式覆盖你的本地文件:

git checkout --force .

做完这些,你本地的所有文件就都会变成LF格式了,diff功能也能正常工作。整个过程不需要提交任何内容,完全是本地检出状态的调整,不会影响远程仓库。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.27 10:02:20