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

执行git checkout main报错未跟踪工作树文件README.md被覆盖如何解决

Git切换main分支时报未追踪文件被覆盖错误的解决方案

报错根因

你遇到的报错核心逻辑是:当前工作区存在未被Git追踪的README.md文件,而目标main分支中已存在同名的被追踪文件,Git为了避免无提示覆盖本地未提交的内容,主动终止了分支切换操作。

之前操作无效的原因

  • 执行git rm --cached README.md无效:该命令仅会删除暂存区中已被Git追踪的对应文件记录,你的README.md属于未追踪状态,暂存区不存在该文件的记录,操作无实际效果。
  • 提交当前分支改动后仍报错:你使用的git add -all为错误参数写法,正确的全量暂存命令为git add --all或简写git add -A,错误参数导致README.md未被纳入暂存,提交后仍为未追踪状态,因此报错持续存在。

分场景解决方案

场景1:本地未追踪的README.md无保留价值

直接删除本地文件后切换分支即可,Windows cmd环境请将删除命令替换为del README.md:

rm README.md
git checkout main

场景2:需要保留本地README.md的内容

先备份本地文件再切换分支,后续可自行对比合并内容,Windows cmd环境请将重命名命令替换为ren README.md README.md.local.bak:

# 重命名备份本地文件
mv README.md README.md.local.bak
# 切换分支
git checkout main

场景3:确认可以丢弃本地文件内容,强制切换分支

注意:该操作会直接用main分支的README.md覆盖本地文件,确认无需要保留的修改后再执行

git checkout -f main

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 21:12:00