Mercurial - 在创建并提交分支后(在本地和中央仓库中)完成分支重命名所涉及的步骤是什么.
例如,我创建了一个名为Zelda的分支,然后提交并推送到中央存储库.我现在想将分支的名称更改为Triforce.
有没有完成此任务的扩展?除了任何扩展解决方案之外,还有什么可以解决的问题?
Hel*_*lgi 10
简短的回答是否定的.
答案很长,Mercurial分支是附加到变更集的名称.如果你有几个变更集提交给分支zelda并且放弃(即,推送到中央仓库),那么你无法重新命名该分支而无需重新创建这些变更集,这意味着重写历史记录.
即使您在repo和central repo中删除了这些更改集,然后将它们重新创建为属于分支triforce,再次推送"重命名"分支,所有协作者最终将拥有两个更改集副本上支一组塞尔达,另一个分支三角力量.
所以是的,你应该做的是在/sf/answers/507163121/中描述.从那里引用,调整到你的分支名称,即zelda是要关闭的旧分支,而triforce是要创建的新分支.
hg update zelda
hg commit --close-branch -m "mgmt: Close branch zelda"
hg branch triforce
hg commit -m "mgmt: Create branch triforce"
hg push --new-branch
Run Code Online (Sandbox Code Playgroud)
PS如果还没有其他人从中央仓库撤出,你可以尝试从那里剥离zelda.或者,如果您可以访问所有其他开发人员的PC(假设受控环境),并且真的想要走一条非常危险的道路,那么您可以从所有回购中删除此分支.这绝对不是一种好的做法,只能作为最后的手段.