未发起Pull Request,如何解决Fork仓库的分支冲突?
未发起Pull Request时解决Fork仓库分支冲突的方法
当网页端的「Sync Fork」仅提供丢弃提交选项时,你需要通过本地Git命令手动处理冲突,步骤如下:
准备本地仓库
- 若未克隆自己的Fork仓库,先执行:
git clone <你的Fork仓库地址> cd <仓库目录> - 若已克隆本地仓库,先拉取Fork的最新提交:
git pull origin <目标分支名> # 比如main或master
- 若未克隆自己的Fork仓库,先执行:
添加源仓库作为远程上游
- 关联原仓库(仅首次操作需要):
git remote add upstream <源仓库的Git地址> - 验证远程仓库配置:
输出应包含git remote -vorigin(你的Fork)和upstream(源仓库)两个远程地址。
- 关联原仓库(仅首次操作需要):
拉取源仓库的最新代码
git fetch upstream <目标分支名>合并源仓库代码并处理冲突
- 执行合并命令:
git merge upstream/<目标分支名> - Git会自动检测冲突,提示存在冲突的文件。打开这些文件,找到冲突标记(
<<<<<<<、=======、>>>>>>>),手动调整代码保留需要的内容后保存。
- 执行合并命令:
提交解决冲突后的代码
- 标记冲突文件为已解决:
git add <冲突文件名> # 多个文件可使用 git add . - 提交合并结果:
git commit -m "合并源仓库代码,解决分支冲突"
- 标记冲突文件为已解决:
推送到你的Fork仓库
git push origin <目标分支名>
完成以上步骤后,你的Fork仓库就会同步源仓库的最新代码,同时保留了自己的提交记录,冲突也已手动解决。
内容的提问来源于stack exchange,提问作者Alisha
相关产品推荐
相关产品推荐

