CLion 2025.2 Help

将更改推送到 Mercurial 上游(Push)

  1. 转到 VCS | Mercurial | 推送

    打开的窗口显示所有 Mercurial 仓库(适用于多仓库项目),并列出自上次推送以来在每个仓库的当前分支中所做的所有提交。

    如果您的项目使用多个不同步控制的仓库,则默认情况下仅选择当前仓库。 如需了解有关启用同步仓库控制的更多信息,请参见 版本控制设置:Mercurial

  2. 如果必要,您可以通过点击来修改远程存储库的路径。 标签会变成一个文本字段,您可以在其中键入新路径或按 Ctrl+Space 调用自动完成。

    如果仓库中没有远程库,则会出现 定义 remote 链接。 点击此链接,并在打开的对话框中指定远程名称和 URL。

  3. 如果您想在推送更改之前预览它们,请选择所需的提交。 右侧窗格显示所选提交中包含的更改。 您可以使用工具栏按钮进行操作。

  4. 如果您希望在提交时推送活动书签(默认情况下,它们不会发送到远程仓库),请选中 导出活动书签 选项。

  5. 请点击 推送 按钮,选择您想要执行的操作从下拉菜单中: pushpush --force

强制推送

当您运行 push 时,如果远程仓库中有您缺失的更改,并且您将用本地副本覆盖它们,Mercurial 将拒绝完成操作。 通常,您需要执行 pull 以在使用更改更新远程之前进行同步。

--force push 命令会禁用此检查,并允许您覆盖远程存储库,从而擦除其历史记录并导致数据丢失。

您仍然可能需要执行 --force push 的一种情形是,您在推送的分支上进行 rebase 操作,然后希望将其推送到远程服务器。 在这种情况下,当您尝试推送时,Mercurial 会拒绝您的更改,因为远程引用不是本地引用的祖先。 如果在这种情况下执行 pull ,您将最终得到该分支的两个副本,之后需要将它们合并。

如果您决定强制推送rebase过的分支并且您在团队中工作,请确保:

  • 没有人拉取您的分支并对其进行本地更改

  • 所有待处理的更改已提交并推送

  • 您拥有该分支的最新更改

最后修改日期: 2025年 9月 26日