简介
在日常开发中,经常需要将主分支(master/main)的更新同步到其他分支,或者将功能分支的代码合并回主分支。在 Visual Studio 中,可以通过内置的 Git 工具方便地完成这一操作。
本文将介绍如何在 Visual Studio 中进行分支合并,并简要说明 Merge 与 Rebase 的区别和使用场景。
示例工程包含主分支 master 和功能分支。下图展示了 Visual Studio 中 Git 分支管理的上下文菜单,当前位于 master 分支。

1. 切换到目标分支
假设需要将 master 分支的更新合并到 feature 分支:
- 确保已切换到 feature 分支(目标分支)。
- 这样操作是为了让接下来的动作'把 master 的更新合并到当前分支'。
在分支列表中,双击 feature,或右键选择 签出 (Checkout)。
签出 (Checkout) 意思是'切换到这个分支'。如果在其他分支上点击此选项,Git 会切换到该分支并更新工作区文件状态;若已在该分支上,选项通常不可用。
2. 执行合并(Merge)
在分支管理面板中:
- 找到 master 分支。
- Visual Studio 会执行
git merge master操作,将 master 的改动合并到 feature。 - 如果出现冲突,VS 会在 Git 更改 面板中提示并提供冲突解决工具。
右键选择 合并到 Current Branch。
注意:Current Branch 是你当前签出的分支,此处为 feature。
3. 使用变基(Rebase)
有时希望历史记录更整洁,可选择 变基:
- 切换到 feature 分支。
- 在分支面板中右键 master → 将 Current Branch 的基准重定到。
- 这相当于执行
git rebase master,会把 feature 分支的提交'搬运'到 master 最新提交之后。 - 若有冲突,需手动解决并继续变基。
4. Merge 与 Rebase 的区别
| 对比项 | Merge(合并) | Rebase(变基) |
|---|---|---|
| 历史结构 | 保留分叉与合并记录 | 变为线性历史 |
| 提交记录 | 生成一个新的合并提交 | 改写提交历史 |
| 适用场景 | 团队协作,保留历史背景 | 个人分支,保持历史整洁 |
| 是否改写历史 | 否 | 是 |
5. 实战 Merge



