Git Pull 报错处理记录:untracked working tree files would be overwritten by merge

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.mdREADME_local_backup.md 内容,选择保留、合并或替换。


4. 提交并推送合并结果

git add .
git commit -m "Resolve untracked file conflict and merge remote history"
git push origin main

📌 经验总结

  • 本地手动创建的文件如果与远程仓库已有文件重名,在首次 pull 时可能造成冲突。
  • 建议新项目开始前,先 pull 下远程内容再添加本地文件,或者避免命名重复。
  • 可以通过 mv 备份冲突文件,再安全地完成合并。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值