我的同事在错误的分支上的存储库上提交了两次。
采取这两个提交、删除它们然后将它们正确提交到正确的分支下的最有效方法是什么? (更改尚未推送)
理想情况下,我们希望有一种方法可以在 TortoiseHG 中执行此操作,但当然,如果命令行是最佳选择,我们将使用它。
Mercurial 队列 (mq) 扩展可以提供帮助。
给定一个如下所示的更改历史记录:
@ changeset: 3:9dc681b56325
| summary: file4
|
o changeset: 2:6675b3f86aa7
| summary: file3
|
| o changeset: 1:4a3209ed5b2f
|/ summary: file2
|
o changeset: 0:6ab45ac3bd6d
summary: file1
以下命令将文件“file4”变更集移动到另一个分支(“file2”头):
hg qimport -r 3 // convert revision 3 to a patch
hg qpop // remove it
hg update 1 // switch to the other branch head
hg qpush // push the change back
hg qfin -a // convert the applied patch back to a changeset
导致:
@ changeset: 3:3faa754edb0b
| summary: file4
|
| o changeset: 2:6675b3f86aa7
| | summary: file3
| |
o | changeset: 1:4a3209ed5b2f
|/ summary: file2
|
o changeset: 0:6ab45ac3bd6d
summary: file1
请注意,由于变更集现在具有不同的父级,因此修订版 3 的变更集哈希发生了变化。 TortoiseHg 的更高版本也支持 MQ 扩展。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)