【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。