update to the
摘要:
hg update stiging
hg branch staging
hg commit -m"Changing stiging branch to staging."
hg update stiging
hg commit --close-branch -m"This was a typo; use staging instead."
hg push --new-branch
对于将来的读者:使用
stiging
一起移动,然后将整个分支历史记录移动到其中:
hg update -r "parents(min(branch('stiging')))"
hg branch staging
hg commit
hg rebase --source "min(branch('stiging'))" --dest staging
这是假设stiging
有一个父母。当然,您可以改用明确的修订号。
注意:如果分支
stiging
包括与其他分支的合并,则只要有相同的父母,就可以保留它们。 但是我当然会仔细检查。
注:由于它编辑了历史记录,因此旧分支不会简单地从克隆的存储库中消失(请参阅
staging
文档)。除非每个人都可以重新克隆,否则这可能不是一个非常实用的解决方案。
NOTE3/EDIT(由@JasonRcoombs提供):既然plasees是Mercurial的标准配置,stiging
将拒绝修改已经被推动的更改。要么通过将阶段返回到草稿(带有rebase
)来欺骗它,要么让旧分支留在原处,然后制作正确命名的副本(例如,使用“ HG rebase -keep”)。
制作一个名为“分期”的新分支,忘记了另一个...
如果您的更改集,那么您必须使用带有分支图的ConconvertExtension将其重命名。然后,每个人都必须克隆新的存储库或从旧的分支上剥离。
这修改了历史记录,仅适用于先进的Mercurial用户。如果您不知道这意味着什么。如果仅是本地污名,则可以将其更改为晶和
rebase
如果您使用的是evolve扩展,另一种方法是使用
hg phases