【问题标题】:How to not push closed branches如何不推动关闭的分支
【发布时间】:2016-07-15 12:32:04
【问题描述】:

我错误地创建了三个分支。
我通过命令 hg commit --close-branch -m "Closing this head" 关闭了它们。
然后我切换到另一个分支MVDM-9。

我想将更改推送到远程存储库,但出现此错误。

hg 推
推送到 ssh://hg@bitbucket.org/Predictix/mvideo-modeler
搜索更改
中止:推送创建新的远程分支:MVDM-57C、MVDM-57T、MVDM-60! (使用 'hg push --new-branch' 创建新的远程分支)

MVDM-57C、MVDM-57T、MVDM-60是我关闭的分支。
我该如何解决这个问题?

【问题讨论】:

    标签: mercurial


    【解决方案1】:

    这里有几个选项。

    第一选择(安全)
    您可以只推送您想要推送的修订,而不是推送所有内容。您只需使用

    hg push -r <revision_number>
    

    &lt;revision_number&gt; 替换为您要推送的最新修订号,然后它将仅推送该修订以及进入其中的修订。

    第二个选项(危险)
    如果您从未将关闭的分支推送、拉取或复制到其他任何地方,并且您不想将它们保留在历史记录中并且永远不会使用它们,那么您可以strip 进行更改。
    确保在开始执行此操作之前对存储库进行备份克隆,因为您可以轻松地破坏现有副本。

    如果还没有启用,则需要先启用条形扩展,然后使用

    hg strip -r <revision_number>
    

    这将从存储库中删除 &lt;revision_number&gt; 及其所有子项,因此您需要小心选择要删除的修订版本。 如果您安装了 TortoiseHg,您可以通过 Workbench UI 执行此操作,并且您可以一次进行修订,直到获得您想要的。

    您始终可以先使用选项 1,然后在将所需的修订推送到远程仓库后,您可以从本地副本中删除不需要的分支。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-01-05
      • 2017-12-10
      • 1970-01-01
      • 2012-05-20
      • 1970-01-01
      • 1970-01-01
      • 2019-02-02
      • 2022-01-19
      相关资源
      最近更新 更多