Git Pull 报错处理记录:untracked working tree files would be overwritten by merge
📝 问题背景
我在本地使用git init初始化了项目,然后在远端新建了一个对应的仓库,结果点错了,不小心在远端建了一个md文档,导致本地和远端的提交不一样,git认为是两个不同的项目,拒绝了我的推送。
在使用 SSH 成功连接 GitHub 后,执行如下命令:
git pull origin main --allow-unrelated-histories
出现如下错误:
* branch main -> FETCH_HEAD
error: The following untracked working tree files would be overwritten by merge:
react-ai-chatbot/README.md
Please move or remove them before you merge.
Aborting
Merge with strategy ort failed.
🚨 问题分析
该错误表示 Git 试图将远程分支内容合并到本地,但检测到本地存在未被 Git 跟踪的文件(untracked file),且文件名与远程仓库中的文件冲突。为防止覆盖本地文件内容,Git 中止了合并操作。
✅ 处理步骤
1. 备份本地未追踪文件
将本地未追踪的 README.md 文件临时重命名或移动,以防数据丢失:
mv react-ai-chatbot/README.md react-ai-chatbot/README_local_backup.md
2. 重新执行合并命令
允许合并历史不一致的两个仓库:
git pull origin main --allow-unrelated-histories
3. 处理 README 文件冲突(可选)
根据项目需要,手动对比 README.md 和 README_local_backup.md 内容,选择保留、合并或替换。
4. 提交并推送合并结果
git add .
git commit -m "Resolve untracked file conflict and merge remote history"
git push origin main
📌 经验总结
- 本地手动创建的文件如果与远程仓库已有文件重名,在首次 pull 时可能造成冲突。
- 建议新项目开始前,先 pull 下远程内容再添加本地文件,或者避免命名重复。
- 可以通过
mv备份冲突文件,再安全地完成合并。

2674

被折叠的 条评论
为什么被折叠?



