我想在推送时保留一些私有提交,所以我希望它们被捆绑到远程端的一个大提交中.在当地,他们应该保持分裂.
用例例如是静态博客上的工作.草案步骤应该在本地提交和跟踪,但在推送时我只想发布已发布的版本.
将接受git和/或mercurial的解决方案.
在Mercurial 2.1及更高版本中,您可以使用阶段将变更集标记为"机密".这会将所有传出的变更集标记为机密:
$ hg phase -f --secret "outgoing()"
Run Code Online (Sandbox Code Playgroud)
默认情况下不会推送或拉出秘密变更集,因此在该命令之后不会有任何外向变更集 - 根据需要进行调整以将正确的变更集标记为机密.
您还说您希望将更改集作为远程存储库中的一个大提交.为此,您可以使用与Mercurial 2.3及更高版本捆绑在一起的histedit扩展.使用该--keep
标志,以便在折叠它们时不会删除原始更改集.