【Git】Visual Studio 实现合并分支

前言

在日常开发中,我们经常需要将 主分支(master/main) 的更新同步到其他分支,或者将功能分支的代码合并回主分支。在 Visual Studio 中,我们可以通过内置的 Git 工具方便地完成这一操作。

本文将介绍如何在 Visual Studio 中进行分支合并,并简要说明 Merge 与 Rebase 的区别和使用场景。

目前我找个工程有两个分支,一个是主分支,master,另一个是基本主分支建立的功能分支。

这个截图是 Visual Studio 中 Git 分支管理的上下文菜单,目前是在 master 分支 上,菜单里的几个选项含义如下:

2. 切换到目标分支

假设我们现在需要将 master 分支的更新合并到 feature 分支:

  1. 先确保你切换到了 feature 分支(目标分支)。
  2. 这样做是为了让接下来的操作"把 master 的更新合并到当前分支"。

在分支列表中,双击 feature,或右键选择 签出(Checkout)。

**签出(Checkout)**意思是"切换到这个分支"。

如果你现在在别的分支上,点击这个会让 Git 切换到 master 分支,并将工作区文件更新到 master 对应的状态。如果你已经在 master 上,这个选项通常会是灰色不可用的。

3. 执行合并(Merge)

在分支管理面板中:

  1. 找到 master 分支。

  2. 右键选择 合并到 Current Branch。

    注意:Current Branch 是你当前签出的分支,这里就是 feature。

  3. Visual Studio 会执行 git merge master 操作,将 master 的改动合并到 feature。

  4. 如果出现冲突,VS 会在 Git 更改 面板中提示你,并提供冲突解决工具。


4. 使用变基(Rebase)

有时我们希望历史记录更整洁,可以选择 变基:

  1. 切换到 feature 分支。
  2. 在分支面板中右键 master → 将 Current Branch 的基准重定到。
  3. 这相当于执行 git rebase master,会把 feature 分支的提交"搬运"到 master 最新提交之后。
  4. 同样,如果有冲突,需要手动解决并继续变基。

5. Merge 与 Rebase 的区别

对比项 Merge(合并) Rebase(变基)
历史结构 保留分叉与合并记录 变为线性历史
提交记录 生成一个新的合并提交 改写提交历史
适用场景 团队协作,保留历史背景 个人分支,保持历史整洁
是否改写历史 否 是

6. 实战 Merge

比如我想把功能分支(融合yolo版)合并到主分支(master)。

就如下三个步骤:

1 首先签出到功能分支(融合yolo版)

2 然后选择主分支(master)并点击右键。

3 最后从右键菜单中,选择合并到 Current Branch(M) (这里的Current Branch(M)就指的是第二个步骤中选择的master主分支,其次,(M)表示的就是Merge)


6. 小结

  • 在 Visual Studio 中,合并到 Current Branch 适合日常团队协作,安全且保留历史。
  • 将 Current Branch 的基准重定到 适合你自己维护的分支,让历史记录更干净。
  • 操作前务必确认当前所在分支,避免把代码合错方向。

💡 建议:如果你刚接触 Git,先从 Merge 开始使用,等熟悉命令和冲突解决后,再尝试 Rebase。