git - rebase 使用

发布时间 2023-10-08 16:53:58作者: 两小无猜

原理

一句话总结就是:把当前分支从搬到目标分支之上。

  1. 首先,执行rebase操作时会先找到当前分支和目标分支的最近共同commit。
  2. 然后记录下当前分支自这个共同commit以来的所有提交。
  3. 之后分别将记录中的commit应用到目标分支上,类似于cherry-pick。如果遇到冲突需要先解决冲突。
  4. 最后将当前分支移动到目标分支处理完的最新提交上。

整个过程类似于入栈的操作。

需要注意的是,当执行rebase操作之后,想要直接git push是没办法成功的,因为当前分支的基己经变了(也就是“变基”),所以需要添加 --force 参数才能提交。

使用

git checkout dev (当前分支)
git rebase master(目标分支)