Nei*_*den 12 mercurial tortoisehg
我的同事已经在错误的分支上对他的存储库进行了两次.
获取这两个提交,摆脱它们然后在正确的分支下正确提交它们的最有效方法是什么?(没有推动更改)
理想情况下,我们想从TortoiseHG中做到这一点,但当然,如果它是最好的选择,我们将使用命令行.
Mar*_*nen 14
Mercurial Queues(mq)扩展可以提供帮助.
给定一个如下所示的更改历史记录:
@ changeset: 3:9dc681b56325
| summary: file4
|
o changeset: 2:6675b3f86aa7
| summary: file3
|
| o changeset: 1:4a3209ed5b2f
|/ summary: file2
|
o changeset: 0:6ab45ac3bd6d
summary: file1
Run Code Online (Sandbox Code Playgroud)
以下命令将文件'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
Run Code Online (Sandbox Code Playgroud)
导致:
@ changeset: 3:3faa754edb0b
| summary: file4
|
| o changeset: 2:6675b3f86aa7
| | summary: file3
| |
o | changeset: 1:4a3209ed5b2f
|/ summary: file2
|
o changeset: 0:6ab45ac3bd6d
summary: file1
Run Code Online (Sandbox Code Playgroud)
请注意,由于变更集现在具有不同的父变换,因此rev 3的变更集散列已更改.更高版本的TortoiseHg也支持MQ扩展.
从我发现的,移植是最好的扩展使用.它将changset应用于您希望的任何其他修订版.
http://mercurial.aragost.com/kick-start/tasks.html#transplanting-changes
我的问题的解决方案是更新到应该应用两个更改的分支,移植两个更改集,然后使用mq去除更改.在tortoisehg中也可以做到.
| 归档时间: |
|
| 查看次数: |
3621 次 |
| 最近记录: |