将更改推送到 Mercurial 上游(Push)
安装 Mercurial 插件
此功能依赖 Mercurial 插件,您需要安装并启用该插件。
按下 Ctrl+Alt+S 以打开设置,然后选择 。
打开 Marketplace 选项卡,找到 Mercurial 插件,然后点击 安装 (如果有提示,请重启 IDE)。
转到 。
推送提交对话框 将打开,显示所有 Mercurial 存储库(用于多存储库项目),并列出自上次推送以来在每个存储库的当前分支中所做的所有提交。
如果您的项目使用多个未同步控制的存储库,则默认仅选择当前存储库。 有关启用同步存储库控制的更多信息,请参阅 版本控制设置: Mercurial。
如有必要,您可以点击它来修改远程存储库的路径。 该标签会变为文本字段,您可以在其中键入新路径,或按 Ctrl+Space 调用补全。
如果存储库中没有远程,则会出现 定义远程 链接。 点击该链接,并在打开的对话框中指定远程名称和 URL。
如果您希望在推送之前预览更改,请选择所需的提交。 右侧窗格显示所选提交包含的更改。 您可以使用工具栏按钮查看提交的详细信息。
如果您希望随提交一起推送活动书签(默认情况下不会将其发送到远程存储库),请选择 导出活动书签 选项。
准备就绪后,点击 推送 按钮,并在下拉菜单中选择要执行的操作:
push或push --force。
强制推送
当您运行 push 时,如果远程存储库包含您本地副本缺少的更改,并且您将用本地副本覆盖这些更改,Mercurial 将拒绝完成该操作。 通常,您需要先执行 pull 与远程同步,然后再使用您的更改对其进行更新。
--force push 命令会禁用此检查,并允许您覆盖远程存储库,从而擦除其历史并导致数据丢失。
您可能仍需执行 --force push 的一种情况是:当您对已推送的分支进行变基,然后希望将其推送到远程服务器时。 在这种情况下,当您尝试推送时,Mercurial 会拒绝您的更改,因为远程引用不是本地引用的祖先。 如果在这种情况下执行 pull ,您最终会得到该分支的两个副本,随后您需要将它们合并。
如果您决定对变基后的分支执行强制推送,并且您在团队中协作,请确保:
没有人拉取过您的分支并在其上进行过本地更改
所有未决更改均已提交并推送
您拥有该分支的最新更改