用于迁移几个提交的git rebase?

art*_*rtm 8 git

我想了解更多git rebase.

假设我有这个工作流程,git rebase在这里会有用吗?如果是这样,这将是对提交X迁移到Z的命令(假设不使用摘樱桃)从MASTERBRANCH.

在此输入图像描述

Tim*_*sen 3

不管你信不信,你实际上是在重新建立master基础branch

以下是您可以用来实现此目的的命令:

git checkout master                  # checkout the master branch
git checkout -b newbranch            # create new branch based on master
git rebase branch                    # rebase on 'branch'
Run Code Online (Sandbox Code Playgroud)

请记住,我创建了一个名为的新分支newbranch,它将按照您想要的方式显示。您想对原件做什么取决于您branch。现在newbranch看起来像这样:

A--B--C--D--X--Y--Z
Run Code Online (Sandbox Code Playgroud)

更典型的工作流程是通过在前者的基础上重新调整后者来引入新的更改,即masterbranch

git checkout branch
git rebase master
Run Code Online (Sandbox Code Playgroud)

这会看起来branch像这样:

A--X--Y--Z--B--C--D
Run Code Online (Sandbox Code Playgroud)