rebase

2018/8/27 posted in  Git工具

在命令行里git rebase --help 可以查看英文版本的解释
下面将对这个英文的文档做输出
假定下面历史记录
Xnip2018-08-27_19-14-08

当前在topic分支上
执行
git rebase master 或者 git rebase master topic
将得到如下结果
Xnip2018-08-27_19-14-18

NOTE:git rebase master topic 形式是git checkout topic ,git rebase master两条命令的相继执行。

如果upstream分支(在这里举例的就是master分支,因为topic从master分支开分支而来)已经包含一个改变的提交,这个提交将会跳过。(A,A`是相同的改变,不同的提交信息)
Xnip2018-08-27_19-14-28

执行 git rebase master
将会得到
Xnip2018-08-27_19-14-36

下面将介绍如何使用rebase --onto将一个分支的base迁移到另一个分支。
假设现在是如下历史记录
Xnip2018-08-27_19-14-48

我们要得到如下结果
Xnip2018-08-27_19-14-58

执行 git rebase --onto master next topic