【Git】Visual Studio 实现合并分支
前言
在日常开发中,我们经常需要将 主分支(master/main) 的更新同步到其他分支,或者将功能分支的代码合并回主分支。在 Visual Studio 中,我们可以通过内置的 Git 工具方便地完成这一操作。
本文将介绍如何在 Visual Studio 中进行分支合并,并简要说明 Merge 与 Rebase 的区别和使用场景。
目前我找个工程有两个分支,一个是主分支,master,另一个是基本主分支建立的功能分支。
这个截图是 Visual Studio 中 Git 分支管理的上下文菜单,目前是在 master 分支 上,菜单里的几个选项含义如下:
2. 切换到目标分支
假设我们现在需要将 master 分支的更新合并到 feature 分支:
- 先确保你切换到了
feature
分支(目标分支)。 - 这样做是为了让接下来的操作“把 master 的更新合并到当前分支”。
在分支列表中,双击 feature
,或右键选择 签出(Checkout)。
**签出(Checkout)**意思是“切换到这个分支”。
如果你现在在别的分支上,点击这个会让 Git 切换到 master 分支,并将工作区文件更新到 master 对应的状态。如果你已经在 master 上,这个选项通常会是灰色不可用的。
3. 执行合并(Merge)
在分支管理面板中:
-
找到
master
分支。 -
右键选择 合并到 Current Branch。
注意:Current Branch 是你当前签出的分支,这里就是
feature
。 -
Visual Studio 会执行
git merge master
操作,将master
的改动合并到feature
。 -
如果出现冲突,VS 会在 Git 更改 面板中提示你,并提供冲突解决工具。
4. 使用变基(Rebase)
有时我们希望历史记录更整洁,可以选择 变基:
- 切换到
feature
分支。 - 在分支面板中右键
master
→ 将 Current Branch 的基准重定到。 - 这相当于执行
git rebase master
,会把feature
分支的提交“搬运”到master
最新提交之后。 - 同样,如果有冲突,需要手动解决并继续变基。
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。