如何限制“-f”进行 hg 推送时的选项

发布于 2024-09-01 09:54:24 字数 62 浏览 3 评论 0 原文

是否有任何选项可以限制用户使用hg push -f?因为它会删除其他用户的中间提交。

Is there any option to restrict a user to use hg push -f? Because it will remove intermediate commits by other users.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

自此以后,行同陌路 2024-09-08 09:54:24

首先,执行 hg Push -f 无法删除中间提交。 Mercurial 是围绕仅附加历史模型构建的,您无法通过推送到服务器来从服务器中删除内容。

当用户执行hg push -f时,他会告诉Mercurial继续推送,即使它创建了新的远程。为了防止这种情况,您需要在服务器上添加一个 hook 来禁止更多比单头。 这里列出了几个这样的钩子

使用 Mercurial 1.6,当您推送新的命名分支时,不再需要使用 -f。您应该使用hg push --new-branch。这更安全,因为它只允许创建新分支,而不是创建多个远程头。

First of all, doing hg push -f cannot remove intermediate commits. Mercurial is built around an append-only history model and you cannot delete stuff from a server by pushing to it.

When a user does hg push -f, then he tells Mercurial to go ahead with the push even though it creates new remote heads. To prevent this, you need a hook on the server that forbids more than a single head. There are listed several such hooks here.

With Mercurial 1.6, it is no longer necessary to use -f when you push a new named branch. You should instead use hg push --new-branch. This is safer since it only allows the creation of new branches, not the creation of multiple remote heads.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文