Git - rebase应用

注意:此命令是应用在未push之前的操作,push后禁用此命令

1、将几个连续的commit合并为一个commit

git log -6 --oneline
aeff454 (HEAD -> master) delete 4 line
cb7c41b delete 3 line
01a8d93 delete 2 line
0bda9b7 delete 1 line
23104e3 mas commit
8a7bab5 mas and dev merge commit

我们将以下三个分支合并为一个分支
cb7c41b delete 3 line
01a8d93 delete 2 line
0bda9b7 delete 1 line
需要选择基础(父)commit( 23104e3 mas commit)

git rebase -i 23104e3

弹出编辑页面,将以下两个分支前面的’pick’ 改成 ‘s’,0bda9b7 delete 1 line不用改因为它是需要提交的commit

pick cb7c41b delete 3 line
pick 01a8d93 delete 2 line

编辑保存后会弹出提示添加操作描述

merge delete 2 with delete 3 delete 1 line

保存后返回命令行

[detached HEAD ae6bd60] merge delete 2 with delete 3 delete 1 line
 Date: Fri Feb 1 15:54:38 2019 +0800
 1 file changed, 4 deletions(-)
Successfully rebased and updated refs/heads/master.

Successfully 成功了


再来查看commit tree

git log -6 --oneline
85a6c64 (HEAD -> master) delete 4 line
ae6bd60 merge delete 2 with delete 3 delete 1 line
23104e3 mas commit
8a7bab5 mas and dev merge commit
6e81f4c mas modify commit
5fe0e8c dev mofify commit

2、将几个不连续的commit合并为一个commit

git rebase -i 23104e3

弹出编辑页面,将以下两个分支前面的’pick’ 改成 ‘s’,0bda9b7 delete 1 line挪到要合并的分支后边,并修改成s

pick   cb7c41b delete 3 line
pick   01a8d93 delete 2 line
pick   0bda9b7 delete 1 line

pick   cb7c41b delete 3 line
s   0bda9b7 delete 1 line
pick   01a8d93 delete 2 line

编辑保存后会弹出提示添加操作描述
其他操作和连续的commit修改是一样的


玩转Git锦集
玩转Git三剑客


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值