如何阻止mercurial将更改集置于推送操作的“公共”阶段?我希望他们保持“选秀”。
我重新定义了很多东西,我推送的存储库仅供我使用。并且不得不一直改变阶段是一件麻烦事。
答案 0 :(得分:11)
文档未明确显示的内容是:
推送的阶段变化不是纯粹的本地决策。 - 在“上传”变更集之后,客户端要求服务器提供有关提交阶段的更新,服务器通常是告诉他们现在是“公开的”。
因此,.hgrc
- 代码段
[phases]
publish = False
必须放在服务器上,这会抑制那里通常的相变。然后,服务器将以与推送相同的方式报告阶段。
Bitbucket在设置→存储库详细信息→阶段下有一个选项。
答案 1 :(得分:4)
将阶段保持在draft
的最直接方法是将远程服务器配置为"非发布",正如您已经发现的那样。
但还有第二种方法,如果目标服务器无法设置为"非发布"则可能对某些人有用。出于任何原因:使用pull
代替push
。拉取是只读的,因此如果您可以设置工作流程(例如通过本地别名),以便遥控器从您的本地仓库中提取更改,他们将保持同步draft
。
答案 2 :(得分:2)
https://www.mercurial-scm.org/wiki/Phases
A repository is "publishing" by default. To make a repository non-publishing, add these lines to its hgrc configuration:
[phases]
publish = False
答案 3 :(得分:-1)