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

部署GitHub仓库至Ubuntu服务器后文件全显已修改的问题求助

解决Ubuntu服务器上Git所有文件显示已修改的问题

排查方向1:换行符差异导致的误判

Linux和Windows的换行符(LF vs CRLF)差异是常见诱因,Git会把换行符变化识别为文件修改,哪怕内容本身没变动。

解决步骤:

  • 在仓库内配置Linux环境适配的换行符规则,提交时自动转换CRLF为LF,拉取时不做转换:
    git config core.autocrlf input
    
  • 清除当前索引,让Git重新识别文件:
    git rm -r --cached .
    git add .
    
  • 可选提交修正,避免后续重复触发该问题:
    git commit -m "Fix line ending detection issues"
    

排查方向2:文件权限缓存未彻底清除

即便你设置了core.fileMode false,Git可能已将之前的权限变化缓存到索引中,需要强制刷新索引:

解决步骤:

  • 先确认core.fileMode已生效:
    git config --local core.fileMode
    
    若输出不是false,重新设置并指定仅作用于当前仓库:
    git config --local core.fileMode false
    
  • 清除索引并重新生成:
    git rm -r --cached .
    git add .
    
  • 若仍有问题,尝试硬重置到当前分支最新提交:
    git reset --hard HEAD
    

排查方向3:重新克隆仓库(终极方案)

如果以上方法都无效,大概率是仓库索引或本地配置出现不可逆异常,直接重新克隆是最省心的解决方式:

# 先备份当前仓库的未提交重要文件
mv your-repo your-repo-backup
# 重新克隆仓库
git clone <你的GitHub仓库地址>
# 将备份中的未提交文件复制回新仓库
cp -r your-repo-backup/your-untracked-files your-repo/

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.28 19:06:00