我想在IntelliJ IDEA中使用rebase将一系列提交移动到另一个分支。该过程在命令行上完美运行,但我无法在IntelliJ IDEA(版本15.0.1)中使用它。
以下是我在命令行中执行的操作:
<feature-branch>
:更改分支
<integrate-branch>
:我要移动更改的分支
<commitId-rangestart>
:提交范围的父级的id
<commitId-rangeend>
:提交范围结束的id
git checkout develop
git checkout -b <integrate-branch> develop
git rebase --onto <integrate-branch> <commitId-rangestart> <commitId-rangeend>
git rebase HEAD <integrate-branch>
git push -u origin <integrate-branch>
我按如下方式配置IntelliJ IDEA rebase对话框:
Branch: <feature-branch>
Onto: <integrate-branch>
From: <commitId-rangestart>
这导致以下git命令行:
git checkout <feature-branch>
git -c core.quotepath=false rebase -i -v -m --onto <integrate-branch> <commitId-rangestart> <feature-branch>
这不会产生预期的结果。我在rebase配置中尝试了任何组合,但没有成功。
有没有办法使用IntelliJ IDEA来获得与命令行相同的结果?
修改
结果应该是,<feature-branch>
的提交范围被复制到<integrate-branch>
。当我在命令行上执行上述步骤时会发生这种情况。 This post有一个很好的描述,包括图形,描述了会发生什么以及结果应该是什么
根据我配置IntelliJ IDEA rebase对话框的方式,与IntelliJ IDEA的过程略有不同。在上述配置中,<feature-branch>
已重新定位到<integrate-branch>
的HEAD,<integrate-branch>
没有变化。