我创建了一个分支,并将变更集作为我的主分支的子进程提交。我实际上是想搁置变化并从我的主分支创建一个新的分支。如何恢复和/或使分支成为我主分支的直接子项?
我有预感,我需要revert或做subtractive merge。
答案 0 :(得分:3)
对于PlasticSCM,这个想法类似于下面对Git的描述:
使用switchbranchbase
command mention for PlasticSCM4中的this thread或简单合并提及。
- 在PlasticSCM 3.0中执行rebase的步骤是:更改分支基础,更新,合并。
- 在PlasticSCM 4.0中更容易,只需从您要重新分支的分支执行合并。
git中的原始答案:
如果你有:
x--x--x--x main
\
y--y--y child
\
z--z mybranch
你可以做:
git rebase --onto main child mybranch
那会给你:
z'--z' mybranch
/
x--x--x--x main
\
y--y--y child
如果您不想重新绑定我的分支的所有,那么很简单:
git checkout mybranch
git branch -b mynewbranch
git reset --hard z # reset mybranch HEAD to the last commit before your new commit
git rebase --onto main mybranch mynewbranch
对于单次提交,您也可以使用git cherry-pick
,但我总是更喜欢git rebase
。