GIT将某分支(develop分支)合并至某分支(yunwei/develop分支)具体过程
目的:
如下,将develop分支中最近提交记录合并至yunwei/develop分支

一、首先搞明白“拉取” 和 “获取” 的核心区别在于:
- 获取(Fetch):只把远程仓库的最新代码下载到本地,但不会自动合并到你当前的工作分支。你的本地代码不会变,只是更新了本地对远程分支的认知。
- 拉取(Pull) = 获取(Fetch) + 合并(Merge)。它会先下载远程最新代码,然后自动合并到你当前的工作分支,直接更新你的本地代码。
所以,如果你想直接把当前分支更新到远程最新版本,应该用 “拉取”。
如果你只是想先看看远程有什么更新,不想立刻合并到本地代码,就用 “获取”。
二、想拉取某分支的最新代码,必须先切换到当前分支吗
是的,在 SourceTree 中,如果你想把某分支的最新代码合并到你当前的工作区,必须先切换到那个分支,再执行拉取操作。

三、具体合并2个分支的过程:
-
操作逻辑
- 你当前在
yunwei/develop分支,右键点击develop分支并选择 “合并 develop 至当前分支”,本质上就是执行git merge develop。 - 这个操作会把
develop分支上的新提交,合并到你当前所在的yunwei/develop分支。
- 你当前在
-
操作前的准备和前提!!
- 拉取最新代码:在合并前,务必先拉取
develop和yunwei/develop两个分支的最新代码,确保本地代码是最新的。 - 检查工作区:确保你的工作区是干净的,没有未提交的修改,避免合并时产生不必要的冲突。
- 拉取最新代码:在合并前,务必先拉取
-
潜在风险
- 代码冲突:如果
develop和yunwei/develop两个分支修改了同一文件的同一部分,合并时会产生冲突,需要你手动解决。 - 功能影响:合并后,
yunwei/develop分支将包含develop分支的所有新功能和修改,可能会影响你在yunwei/develop上的开发工作。
- 代码冲突:如果
-
替代方案
- 如果你只是想把
develop上的特定几条提交(而不是全部)合并到yunwei/develop,可以使用git cherry-pick命令,精确地挑选需要的提交。
- 如果你只是想把
合并具体操作如下图:

四、最后将本次合并推送到远端的yunwei/develop分支

从你当前的推送界面来看,这样操作不正确,存在很大风险⚠️。
问题分析
-
当前分支与推送目标不匹配
- 你当前所在的本地分支是
yunwei/develop(左侧分支列表中已明确标出)。 - 但在推送窗口中,同时勾选了
develop和yunwei/develop两个本地分支。这意味着你会把本地develop分支的代码也推送到远程origin/develop分支上。
- 你当前所在的本地分支是
-
潜在风险
- 如果你在本地
develop分支上有未经过审核或测试的代码,直接推送会污染团队共享的远程develop分支,影响其他同事的开发工作。 - 推送操作是不可逆的,一旦错误推送,回滚操作会非常麻烦。
- 如果你在本地
正确做法
-
只推送目标分支
- 你刚刚完成的是将
develop合并到yunwei/develop,所以现在只需要推送yunwei/develop这一个分支。 - 在推送窗口中,取消勾选
develop分支,只保留yunwei/develop分支的勾选状态。
- 你刚刚完成的是将
-
确认无误后推送
- 确认推送窗口中,只有
yunwei/develop这一行是勾选的。 - 点击 “推送”,将合并后的变更安全地同步到远程
yunwei/develop分支。
- 确认推送窗口中,只有
总结一下:你现在的操作会同时推送两个分支,这是错误的。请取消勾选
develop,只推送 yunwei/develop。

浙公网安备 33010602011771号