Git Rebase指南

git rebase [-i | --interactive] [<options>] [--exec <cmd>] [--onto <newbase>]
    [<upstream> [<branch>]]
git rebase [-i | --interactive] [<options>] [--exec <cmd>] [--onto <newbase>]
    --root [<branch>]
git rebase (--continue | --skip | --abort | --quit | --edit-todo | --show-current-patch)

1.一般场景

在topic开发完成了新的特性,需要合并到master,分支结构如下:


      A---B---C topic
     /
D---E---F---G master

执行命令


              A'--B'--C' topic
             /
D---E---F---G master

合并到master上的原来的A,B,C会变成新的A’,B‘,C’。

2…压缩x个commit,只保留一个commit
操作:git rebase -i HEAD~x

2.1.查看log:git log
2.2.进行rebase操作,其中把“update t3"这次commit直接合并到”add t3“这次操作中了。

执行git rebase -i HEAD~2,然后会自动进入vi界面。
2.3只保留一个pick,其余全改成s(quash)

3.修改完成之后保存退出,会自动进入确认页面,再次保存退出即可。

4.提交推送到远程之后再去git上提交merge request。

PS:

1.为什么没有生成merge 的commit?

使用fast-forward合并时,git不会生成merge request的commit。

2.解决冲突

rebase过程出现冲突的话,解决冲突之后不要用git commit,而是使用git rebase --continue

3.停止rebase

git rebase -abort

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值