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