我搞砸了,需要弄清楚如何在不破坏一切的情况下还原几个提交。
我正在尝试将branch1
和branch2
合并到一个临时分支中,如下所示:
1) svn cp ^/branch1 ^/branch1a // Create a branch
2) svn sw ^/branch1a // Switch to that branch
3) svn merge ^/branch2 . // Merge branch2 to branch1a
4) <do lots of manual work>
5) svn ci . // revision 991,994,995, return to step 4 if needed
6) svn sw ^/branch1 // When happy, switch back to branch1
7) svn merge ^/branch1a . // Merge our happy changes back into branch1
8) svn ci // Commit these changes
我仍在围绕步骤4-5进行迭代,但意识到我忘了执行第2步。我需要从branch1
恢复我的修订,并将它们应用到branch1a
所以我可以继续工作。
我尝试使用svn merge -c991,994,995 .
进行还原,但我的工作副本似乎没有改变。此外,我需要确保我可以保留这些更改并在branch1a
中重新应用它们。我可以使用什么命令序列?
答案 0 :(得分:1)
我最终使用TortoiseSVN来实现这一目标。说明主要在这里: https://tortoisesvn.net/docs/nightly/TortoiseSVN_en/tsvn-howto-rollback.html
branch1
log
对话svn ci .
将更改提交到repo(这是rev 997)svn sw ^/branch1a
返回目标分支svn merge -c 991,994,995 .
将恢复的更改带到此处svn ci .
提交回购的修订版。 我有点担心,当需要将branch1a
合并回branch1
时,修订版997会阻碍并阻止良好的合并。如果有人给出了一个很好的解决方案的答案,我会很高兴选择这个答案(这是部分的,直到我实际上导入转速)。