信息发布→ 登录 注册 退出

git的merge与rebase的区别

发布时间:2019-10-22

点击量:

接git分支创建与合并,在分支合并时,有两种方式:git merge 和git rebase。

git merge:将两个分支,合并提交为一个新提交,并且新提交有2个parent。

git rebase:会取消分支中的每个提交,并把他们临时存放,然后把当前分支更新到最新的origin分支,最后再把所有提交应用到分支上。

git merge

具体操作:bob在index1.html中修改2次,并提交到远程仓库;lilei在index.html中修改2次,并提交到远程仓库;bob拉取远程仓库(git fetch origin dev),merge合并。分支结构如下:

由此可见,两个分支进行了合并,并且93a6d33提交有2个parent(135b375和8b61b04)。

git rebase

具体操作:lilei在index.html中修改2次,并提交到远程仓库;bob在index1.html中修改2次,并提交,拉取远程仓库(git fetch origin dev),rebase合并。命令行输出如下:

首先将HEAD指针移到当前origin分支顶部,然后再应用所有提交到当前分支。分支结构(呈直线型)如下:

可以看出,rebase时,当前分支在135b375共有祖先的基础上,将191b8cd、00e08ec及后续2次提交,共计4个提交撤销。然后将HEAD移到322ca9提交上,再将4个提交重新应用到分支上。

标签:# git  # 移到  # 具体操作  # 基础上  # 然后再  # 可以看出  # 有两种  # 并把  # 再把  # 再将  # 进行了  
在线客服
服务热线

服务热线

4008888355

微信咨询
二维码
返回顶部
×二维码

截屏,微信识别二维码

打开微信

微信号已复制,请打开微信添加咨询详情!