问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

Git分支合并完全指南:普通合并、压缩合并与变基合并

创作时间:
作者:
@小白创作中心

Git分支合并完全指南:普通合并、压缩合并与变基合并

引用
CSDN
1.
https://blog.csdn.net/stallion5632/article/details/129093181

在Git版本控制系统的使用过程中,合并分支是一个常见的操作。本文将通过一个具体的场景示例,详细介绍三种主流的分支合并方法:普通合并、压缩合并和变基合并。每种方法都有其独特的优势和适用场景,掌握这些技巧将有助于你更高效地管理代码仓库。

假设你有一个master分支,其中包含提交M1M2。从M2创建了dev分支,在dev分支上开发人员做了提交D1D2D3

1. 普通合并

基本的git merge操作将dev分支的更改完整地合并到master,并保留所有的提交历史记录。

$ git checkout master
$ git merge dev

这会生成一个合并提交D4',其中包含了来自D1D2D3的更改,同时保留了它们各自的提交历史。

2. 压缩合并

git merge --squashdev分支的所有更改压缩为一个单独的提交,并合并到master,有助于简化复杂的提交历史。

$ git checkout master
$ git merge --squash dev
$ git commit -m "压缩合并dev分支的更改"

这个操作将D1D2D3的所有更改合并成一个单独的提交D,减少了提交历史的复杂性。

3. 变基合并

git rebase操作可以将dev分支的更改重新应用到master上,保留提交的作者信息,并能够合并提交历史。

$ git checkout dev
$ git rebase -i master
$ git checkout master
$ git merge dev

变基合并分为两步:

  • 第一步:执行变基操作,看起来dev分支是从M2分出来的,然后使用-i参数手动编辑提交历史,合并或重排提交。
  • 第二步:再执行合并操作,将dev分支合并到master

在执行变基时可能会遇到冲突,需要手动解决冲突后继续变基操作,直到完成。如果需要中止变基操作,可以使用git rebase --abort命令。

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号