660 字
3 分钟

技术笔记 - 拉取上游仓库且解决冲突

WARNING

本文中提到的命令与方法均源自网络与AI,这是笔者第一次尝试解决上游仓库拉取和解决冲突,其中可能存在不合理的地方,欢迎指正!

这篇文章主要记录在Github上的Fork仓库与上游仓库都进行修改后如何将上游仓库的代码拉取并解决冲突,既是作为技术分享,更是自己的备忘录,本文就以博客系统更新的代码拉取为案例展开。

案例属性:Github托管仓库、Fork子仓库与上游仓库均修改、拉取代码冲突

预备工作#

子仓库创建分支#

虽然很多教程与AI的结果都是不推荐创建新分支处理,但作为案例中的情况,一旦拉取后存在问题,而主分支又是自动触发构建的分支,将会造成构建失败或者构建结果并不理想的情况,所以个人认为创建新分支,将上游仓库更改拉取到新分支并处理冲突后,本地构建无问题之后再将新分支推送到主分支的方法。

git checkout -b [新分支名称]

本地添加上游仓库#

git remote add upstream [上游仓库git地址]

检查远程仓库配置,确保上游仓库添加成功

git remote -v

拉取上游仓库更改#

git fetch upstream

切换至自己的新分支#

如果按照本教程第一步使用的git checkout -b [新分支名称]方式创建的分支,那么当前分支已经在新分支,则此步骤可以省略。

git checkout [分支名]

合并且解决冲突#

尝试合并上游仓库更改#

git merge upstream/[上游分支名]

解决冲突#

<<<<<<< HEAD
自己代码
=======
上游代码
>>>>>>> upstream/[分支名]

本地验证合并代码#

在本地验证合并后的代码是否存在运行问题,如果存在进一步处理,如果不存在提交合并结果。

提交合并结果#

git add .
git commit

推送至云端仓库#

git push origin [分支名]

后续处理#

将新分支合并到主分支#

在Github中将新分支推送到主分支,合并后删除新分支。

本地删除新分支#

首先同步云端仓库分支

git remote prune origin

删除云端已经删除的分支

git branch -d [分支名]

本地解绑上游仓库(可选)#

如果以后仍然需要拉取上游仓库更新,推荐暂不解绑

git remote remove upstream

至此全部流程结束。

赞助支持

如果这篇文章对你有帮助,欢迎赞助支持!

赞助计划
技术笔记 - 拉取上游仓库且解决冲突
https://blog.xshan.top/posts/upmerge/
作者
Jason Shane
发布于
2025-12-15
许可协议
CC BY-NC-SA 4.0
最后更新于 2025-12-15,距今已过 2 天

部分内容可能已过时

评论区

目录