【发布时间】:2013-01-31 08:25:43
【问题描述】:
我正在开发两个(私有)功能分支。
a -- b -- c <-- Master
\ \
\ d -- e <-- Branch1
\
f -- g <-- Branch2
在处理这些分支一段时间后,我发现我需要从 Branch1 中的 Branch2 进行更改。我想将 Branch2 中的更改重新定位到 Branch1。我想最终得到以下结果:
a -- b -- c <-- Master
\
d -- e -- f -- g <-- Branch1
我很确定我需要将第二个分支重新到第一个分支,但我不完全确定正确的语法以及我应该检查哪个分支。
这个命令会产生预期的结果吗?
(Branch1)$ git rebase --onto Branch1 Branch2
【问题讨论】:
-
为了回答您的问题,我将创建一个测试存储库,创建您展示的提交结构并尝试您展示的命令。但我认为你可以自己做,所以我不打算这样做:)
-
谢谢。我非常想在第一次做到这一点,以至于我没有想到我可以很容易地自己测试这个:-)
-
我是这么认为的,这就是我发布该评论的原因 :) 每次我做某事时,我不确定它是否会像我认为的那样做,我创建一个测试存储库并在那里执行我的测试。或者,我创建一个真实存储库的副本并在该副本上执行测试。
-
注意:Git 2.0 将为这种变基引入一个快捷方式:
git rebase -。见my answer below -
次要注意:这里的答案给出了 branch2 作为结果。 OP想要branch1。还是我错过了什么?
标签: git git-rebase feature-branch