4

我环顾四周,但在这里没有看到我的确切情况,所以我希望有人能提供帮助。

SCons 项目 (https://bitbucket.org/scons/scons) 在默认分支上进行开发。我最近错误地合并并推送了一些尚未准备好合并的开发人员(称为 DEV)存储库的更改。所以我不得不取消这些更改(hg backout -rXXX --parent YYY)并将其推送到 bitbucket。但是我们现在要如何前进呢?退出维基页面说:

警告:如果您想重做合并,退出合并将导致麻烦。处理错误合并的唯一安全方法是放弃分支。

我们当然不能放弃默认分支。所以现在 DEV 不能从主 repo 合并,否则他将丢失所有正在进行的更改(因为我的退出删除了它们)。现在没有人可以从 DEV 的 repo 中合并,因为 bitbucket repo 已经包含了他的所有更改(以及退出)。我们似乎处于一个艰难的境地。

我想我有两个问题:

  1. 我们现在应该做什么,让 DEV 能够取得进展:他需要一个带有他可以工作的更改的 repo,其形式是当他完成这些更改后可以合并到 bitbucket repo 中。

  2. 一旦我发现推送的合并是错误的,我应该怎么做?

(注意这里没有命名分支;一切都是默认的。)

谢谢!

4

2 回答 2

1

我们当然不能放弃默认分支。

你当然可以。更新到合并之前并继续在那里工作,这就是现在的提示。如果旧分支上有更改,您需要graft它们。然后,您可以进行无操作合并以绑定死头,或者您可以使用hg commit --close-branch. 看看这个答案

于 2012-10-16T12:35:01.130 回答
0

没有时间测试这个,但我想它应该像这样工作:

  1. DEV 从主仓库中提取,
  2. 对回退进行回退,然后
  3. 继续在本地开发他的功能。

从这个状态开始,其他人在合并来自 DEV 的新更改时也应该没有问题。

于 2012-10-14T21:23:21.687 回答