GIT将某分支(develop分支)合并至某分支(yunwei/develop分支)具体过程

目的:

如下,将develop分支中最近提交记录合并至yunwei/develop分支

企业微信截图_17726195002189

 

一、首先搞明白“拉取” 和 “获取” 的核心区别在于:

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

企业微信截图_17726189496755

 

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

 合并具体操作如下图:

企业微信截图_17726150665280

 

 

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

 

企业微信截图_17726193883760

 

 

 

从你当前的推送界面来看,这样操作不正确,存在很大风险⚠️。

 

问题分析

 

  1. 当前分支与推送目标不匹配
    • 你当前所在的本地分支是 yunwei/develop(左侧分支列表中已明确标出)。
    • 但在推送窗口中,同时勾选了 developyunwei/develop 两个本地分支。这意味着你会把本地 develop 分支的代码也推送到远程 origin/develop 分支上。
  2. 潜在风险
    • 如果你在本地 develop 分支上有未经过审核或测试的代码,直接推送会污染团队共享的远程 develop 分支,影响其他同事的开发工作。
    • 推送操作是不可逆的,一旦错误推送,回滚操作会非常麻烦。

 

正确做法

 

  1. 只推送目标分支
    • 你刚刚完成的是将 develop 合并到 yunwei/develop,所以现在只需要推送 yunwei/develop 这一个分支。
    • 在推送窗口中,取消勾选 develop 分支,只保留 yunwei/develop 分支的勾选状态。
  2. 确认无误后推送
    • 确认推送窗口中,只有 yunwei/develop 这一行是勾选的。
    • 点击 “推送”,将合并后的变更安全地同步到远程 yunwei/develop 分支。

 

总结一下:你现在的操作会同时推送两个分支,这是错误的。请取消勾选 develop,只推送 yunwei/develop

 

 

posted @ 2026-03-04 18:10  无聊的蚂蚁  阅读(1)  评论(0)    收藏  举报