我使用default
作为生产分支,在开发新功能时我从中创建新分支,我最终合并到default
(如果这是一个死胡同,则关闭)。我无法理解我所处的情况。当试图推动以下回购时,我得到一个“不会推几个头”的消息(来自TortoiseHG)
我的情况如下:
390
成为default
(生产)rev 387
和388
之间发生的事情,回顾性地是一个错误。由于变化不够好,我不应该合并为默认值。我将在稍后处理它,但是现在我不想处理它,也不想让它弄乱390
。是TortoiseHG的另一个负责人在抱怨吗?我不想强迫任何东西(去过那里,做过那样,受苦)所以在这种情况下采取了什么适当的行动?
答案 0 :(得分:1)
分布式版本控制经常忽略的一件事是,存储库的位置远远多于“本地”和“远程”。
对于不同的子项目,状态,实验等,您可以拥有许多具有不同更改的本地存储库。
因此,一种方法是简单地克隆或复制本地存储库,以便现在有两个本地存储库。在您一直使用的那个中,您现在只需删除您认为是一个糟糕实验的变更集。这摆脱了该存储库中的那些变更集,但您仍然在另一个本地克隆中有一个副本。现在,您应该能够继续从存储库中推送,因为您已经有效地摆脱了额外的头部。
另一种方法是从远程存储库创建一个新的本地克隆,然后只将您要保留的更改集从原始本地克隆推送到新的本地克隆,然后切换到使用新的本地克隆
最终结果是一样的,但到达那里的方法是不同的,所以根据最简单的方法你现在有两个选择。