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

如何排查本地仓库中因换行符差异未同步到远程的文件?

排查本地因换行符差异未同步到远程的文件方法

方法1:直接列出存在换行符问题的文件

使用git diff的--check参数,扫描文件中的换行符不一致、行尾空格等问题,输出对应的文件名:

git diff --name-only --check origin/master master

该命令对比本地master分支与远程origin/master分支,列出所有包含换行符差异的文件。

方法2:批量检查所有已追踪文件

通过git ls-files配合xargs批量扫描所有已追踪文件,处理文件名含空格的场景:

git ls-files -z | xargs -0 git diff --name-only --check origin/master

方法3:统一换行符后识别变化

先将本地文件换行符统一为目标格式,再通过git status找出未同步的文件:

  1. 安装换行转换工具(如dos2unix或unix2dos)
  2. 批量转换指定类型文件的换行符(以JS文件为例):
    find . -type f -name "*.js" -exec dos2unix {} \;
    
  3. 执行git status,显示为modified的文件即为之前因换行符差异未同步的文件。

关键说明

  • git config core.fileMode false是忽略文件权限变化的配置,和换行符问题无关,因此无法解决你的问题。
  • 若要从根源避免换行符问题,可配置core.autocrlf:
    # Windows环境推荐
    git config --global core.autocrlf true
    # Linux/macOS环境推荐
    git config --global core.autocrlf input
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 12:31:25