对于初学者来说,理解Git rebase真的很困难。每当我进行rebase时,总是会得到奇怪的结果。我发现可以使用--onto来控制我应该rebase到哪里,但我如何控制from这一侧呢?
例如: 假设我现在处于分支2,在这里数字代表提交时的时间,红色表示尚未合并到主分支的分支2提交。如果我想让我的分支2变成以下状态,应该使用什么命令?
1)1-> 2-> 8-> 3-> 5-> 6-> 7
2)1-> 2-> 8-> 5-> 6-> 7
一开始,我认为这是不可能的,因为我的第三个提交将会消失,但我从Git网站上了解到,这实际上是有效的。
例如: 假设我现在处于分支2,在这里数字代表提交时的时间,红色表示尚未合并到主分支的分支2提交。如果我想让我的分支2变成以下状态,应该使用什么命令?
1)1-> 2-> 8-> 3-> 5-> 6-> 7
2)1-> 2-> 8-> 5-> 6-> 7
一开始,我认为这是不可能的,因为我的第三个提交将会消失,但我从Git网站上了解到,这实际上是有效的。
3) 1 -> 2 -> 3 -> 5 -> 6 -> 8 -> 7
我可以这么做吗?基本上只想将提交7放在主分支的顶部进行变基(rebase)?
我之所以问这些问题是因为,自动变基总是让我头疼,所以我宁愿能够指定要从哪个提交开始变基,变基到哪个提交。我能这样做吗?但我找不到“from”参数。
master
指向C6
。 - evolutionxbox