git rebase 参数1 参数2
复制一系列提交记录放在另一个地方,注意:并不会改变被接下去的分支指向,但是把HEAD节点指向被复制的节点
参数1:要被接下去的节点/分支
参数2:如果没写就是从当前的HEAD节点与参数1的交叉点开始到当前的HEAD节点的提交记录复制到参数1后面,如果写了就是参数2与参数1的交叉点开始到参数2的提交记录复制到参数1后面
$ git checkout -b foo
$ git commit
$ git commit
$ git checkout main
$ git commit
$ git checkout -b bar
$ git commit
$ git commit
$ git checkout main
$ git commit
# 参数2未指定,从 main 分支与 foo 分支的交叉点到 main 分支所在的节点的提交记录会复制到 foo 分支所在的节点后面,注意 foo 分支所在的节点并没有变化
$ git rebase foo
# 参数2指定为 bar,从 bar 分支与 foo 分支的交叉点到 bar 分支所在的节点的提交记录会复制到 foo 分支所在的节点后面,注意 HEAD 由指向 main 变成指向 bar
$ git rebase foo bar
懒得做动图了,把代码复制到 learngitbranching沙箱 看看效果吧