在一个mercurial repo中,“默认”分支已经过时了,以至于不再有意义地合并来自“develop”的更改,这是一个已命名的分支,它具有最新部署的应用程序版本。
不是将develop合并到默认值,而是如何关闭当前的默认分支,然后使用develop中的head创建一个新的默认分支?
我已经看到了一些类似的问题和答案,也许是相同的,但我仍然无法理解这应该如何运作。
谢谢!
答案 0 :(得分:24)
如果default
与develop
略有分歧,并且您希望default
与合并后的develop
完全相同,则需要一组略有不同的命令爱德华给你的东西(这也适用于develop
是default
)的直接后裔。
hg update -C default
hg -y merge --tool internal:fail develop
hg revert --all --no-backup -r develop
hg resolve --all --mark
hg commit -m "merge updating default to current develop"
这意味着任何冲突都将导致未解决的合并。然后,将所有恢复为与develop
分支相同(没有备份,因此您不会遗留大量.orig文件)。
答案 1 :(得分:2)
根据您的评论,不需要关闭分支,这里有一系列步骤可以使默认分支与开发分支保持一致:
hg update default
hg merge --tool internal:other
- 在为开发分支提供权限时进行合并hg diff -r develop
- 与开发进行比较以确保您拥有完整的副本hg commit -m "merge updating default to current develop"
完成后,您应该有一个更新的默认值,它会反映开发分支,使它们恢复同步。
答案 2 :(得分:0)
我认为最好在Tortoisehg中使用一个概念来解释它是如何工作的。
hg update
开发分支hg branch default
,默认重新启动