GoLand 2025.2 Help

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

  1. 转到 VCS | Mercurial | 推送

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

    如果您的项目使用多个未同步控制的版本库,则默认仅选中当前版本库。 有关启用同步版本库控制的详细信息,请参阅 版本控制设置:Mercurial

  2. 如有需要,您可以单击远程版本库路径来进行修改。 标签将变为文本字段,您可以在其中输入新路径,或按 Ctrl+Space 启用补全。

    如果版本库中没有远程库,则会显示 定义远程 链接。 单击该链接,并在打开的对话框中指定远程名称和 URL。

  3. 如果您希望在推送前预览更改,请选择所需的提交。 右侧面板将显示所选提交中包含的更改。 您可以使用工具栏按钮 查看提交详细信息

  4. 如果您希望在提交时一并推送活动书签(默认不会发送到远程版本库),请选择 导出活动书签 选项。

  5. 准备就绪后,单击 推送 按钮,并从下拉菜单中选择要执行的操作: pushpush --force

强制推送

当运行 push 时,如果远程版本库包含您本地缺少、并将被您覆盖的更改,Mercurial 将拒绝完成操作。 通常,您需要先执行 pull 与远程同步,然后再推送您的更改。

--force push 命令将禁用该检查并允许覆盖远程版本库,从而清除其历史记录并导致数据丢失。

在某些情况下,您可能仍需要执行 --force push ,例如您对已推送的分支进行 rebase 后希望重新推送到远程服务器。 在此情况下,尝试推送时,Mercurial 将拒绝您的更改,因为远程引用不是本地引用的祖先。 如果在此情况下执行 pull ,将会生成该分支的两个副本,您需要将其合并。

如果您决定强制推送已 rebase 的分支,并且团队协作开发,请确保:

  • 没有其他人拉取了您的分支并进行过本地修改

  • 所有挂起更改都已提交并推送

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

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