gpt4 book ai didi

Mercurial:如何处理一个有两个头的分支

转载 作者:行者123 更新时间:2023-12-03 06:37:10 25 4
gpt4 key购买 nike

如果一个分支有两个头怎么办?由于某种原因,我几周前就遇到了这种情况,当时我没有 merge 它们,只是继续在一个头上开发。现在我想除掉另一个头。我应该怎么办?我应该在这么多变更集之后 merge 它们吗?

最佳答案

所以你有这个:

o--o--o--A--B  <- older unnecessary head
\
1--2--3--4--5--6 <- newer ‘good’ head

...而且您绝对不需要 AB,100% 确定。 如果您不确定,并且 AB 中可能存在可挽救的内容,最好 merge 头部以 merge 更改。正如 Aaron 所说,Mercurial 很擅长。

现在您有两个选择:

  • 摆脱旧头脑,或者
  • 对两个头进行虚拟 merge ,忽略头 B

如果变更集AB存在于您无法控制的其他存储库中,例如如果其他人将 AB 拉入他们的存储库,或者您将 AB 推送到公共(public)存储库(例如,Bitbucket),那么您已将 AB 释放到野外,并且无法摆脱它们。你应该做 dummy merge :

$ hg up 6
$ hg --config ui.merge=internal:local merge

merge 时,这将忽略 AB 的任何更改。

另一方面,如果 AB 是私有(private)的,您可以 strip他们:

$ hg strip A

(修订版 A 和后代被剥离;启用 MQ 扩展以使 strip 可用。)

或者,在没有变更集 AB 的情况下创建存储库的新克隆:

$ hg clone myrepo myrepo2-clone -r 6

(仅将版本 6 和祖先添加到克隆中。)

关于Mercurial:如何处理一个有两个头的分支,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6927733/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com