merge and rebase

The difference of merge and rebase

rebase


rebase process

  <!-- state -->
  feature S01 and S02 created in node A(dev)
  SO1 commit once and in node B
  S02 commit once and in node C
  <!-- opeartion -->
  check in S02 and rebase S01 to S02
  it seems that S02 created in node B rather than A
  then C
  before
  S02 A -> C
  now
  S02 A -> B -> C'

diff

  1. merge will always generate a ‘merge’ commit () when –no-ff
    but rebase will not, it seems that fast-forward every time
  2. rebase means that updates current up stream, then changes current commits
  3. ‘merge’ commits is easier to distinguish when update upstream and rolling back is easier.
    However, the merge commit that dev is merged to feature looks complex.

roll back

 git checkout mybranch # if needed
 git reset --hard ooooooo  # or mybranch@{1}

stackoverflow.com/undoing-a-git-rebase

stackoverflow.com/undo-git-rebase

recommend

merge is recommend because when co-work, the ‘merge’ commits is easier to distinguish which feature

cherry-pick rebase children interactively

cherry-pick, merge, rebase

git rebase的原理之多人合作分支管理

git rebase介绍

git-scm-cn

git-scm-en

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值