我看到了一些问题:
1) 您试图使用克隆来消除该问题。一旦您熟悉Mercurial,您会发现有更好的方法来解决您描述的问题类型。
您的描述不清楚您对克隆采取了哪些步骤。例如,您是使用错误代码从主远程回购还是从本地回购进行克隆。
下面,我假设您将多个头推到远程回购。
根据你的描述,听起来你有类似的东西:
hg log -G
@ changeset: 4:fa78b78c5094
| tag: tip
| user: Craig
| date: Sun Oct 21 10:38:15 2018 -0600
| summary: Good commit 2
|
o changeset: 3:af5cfaf651ff
| parent: 0:f46808ac779b
| user: Craig
| date: Sun Oct 21 10:38:02 2018 -0600
| summary: Good commit 1
|
| o changeset: 2:aabb053f11a9
| | user: Craig
| | date: Sun Oct 21 10:37:44 2018 -0600
| | summary: Bad commit 2
| |
| o changeset: 1:9168cd930d40
|/ user: Craig
| date: Sun Oct 21 10:37:32 2018 -0600
| summary: Bad commit 1
|
o changeset: 0:f46808ac779b
user: Craig
date: Sun Oct 21 10:18:32 2018 -0600
summary: Commit some work
hg update 4
hg merge 2
注意:如果只有两个磁头,则不带数字的hg merge将起作用。
您可能需要解决合并冲突。
合并完成后,它将带着修改过的文件(合并结果)离开存储库。确保这些修改仅包含您想要的更改。
一旦您完全确定更改(作为合并的结果)是您想要的,您就可以提交合并:
hg merge -m "Merge heads"
此时,您应该只有一个头部,如下所示:
@ changeset: 5:8f9e6a947b3a
|\ tag: tip
| | parent: 4:fa78b78c5094
| | parent: 2:aabb053f11a9
| | user: Craig
| | date: Sun Oct 21 11:14:43 2018 -0600
| | summary: Merge heads
| |
| o changeset: 4:fa78b78c5094
| | user: Craig
| | date: Sun Oct 21 10:38:15 2018 -0600
| | summary: Good commit 2
| |
| o changeset: 3:af5cfaf651ff
| | parent: 0:f46808ac779b
| | user: Craig
| | date: Sun Oct 21 10:38:02 2018 -0600
| | summary: Good commit 1
| |
o | changeset: 2:aabb053f11a9
| | user: Craig
| | date: Sun Oct 21 10:37:44 2018 -0600
| | summary: Bad commit 2
| |
o | changeset: 1:9168cd930d40
|/ user: Craig
| date: Sun Oct 21 10:37:32 2018 -0600
| summary: Bad commit 1
|
o changeset: 0:f46808ac779b
user: Craig
date: Sun Oct 21 10:18:32 2018 -0600
summary: Commit some work
在将合并的代码推送到远程存储库之前,验证更改是否正确并经过测试是非常重要的。推动错误的合并只会加剧问题。