我的同事不小心在默认分支上提交了两次代码,而不是创建自己的开发分支。
我应该如何处理这种情况,将这两次提交移动到一个新的分支上?
我的同事不小心在默认分支上提交了两次代码,而不是创建自己的开发分支。
我应该如何处理这种情况,将这两次提交移动到一个新的分支上?
假设以下情景:
D
|
C
| "I want to move C and D here"
B/
|
A
步骤:
hg update B
hg branch "mybranch"
hg commit --message "Create my branch"
hg update mybranch
hg graft -r C
hg graft -r D
hg strip -r C
(这应该是修订版 C 最初的状态)
strip
命令由一个需要启用的扩展程序提供。你可以在 Mercurial Wiki 上查看有关如何启用它的指南。
hg update default
mercurial.ini
文件,并添加[extensions]
部分,然后在下一行加上strip =
。更多信息可以在这里找到:http://mercurial.selenic.com/wiki/StripExtension - jahurebase
命令将一系列提交移动到一个主题分支上,而我一开始忘记了创建该分支。