无法合并Gerrit

时间:2016-06-02 05:54:32

标签: git git-merge gerrit

每当我向Gerrit发送评论时,如果评论有待一段时间,我会在Gerrit收到cannot merge消息。

我理解它的到来是因为其他人会更改相同的文件/文件并在我之前交付。我正在尝试下面的解决方法来解决我的问题。

  1. 放弃目前的审核。
  2. 创建一个新的本地分支,拉一下
  3. 樱桃 - 从旧分支中挑选我的提交并发送给gerrit
  4. 这有效但审查评论无论我有什么都不再可用,我的评论员很难再次检查。

    我正在寻找一种从当前评论中删除cannot merge的方法。谢谢!

3 个答案:

答案 0 :(得分:37)

你不需要放弃Gerrit的当前变化来解决"无法合并"问题。您所需要做的就是:

  1. 更新本地存储库(git fetch)
  2. 运行手动rebase(git rebase)
  3. 解决冲突(git mergetool)
  4. 提交(修改)结果(git commit --amend)
  5. 将新的补丁集推送到Gerrit(git push)

答案 1 :(得分:5)

尝试rebase按钮,这可以解决大多数无法合并的问题。如果它能够找到适当的提交到自己的rebase,它没关系。如果不能,找到目标分支的最后一次提交并填写提交空白。有时您应该首先提交提交,其中无法合并的提交具有依赖性。如果它无论如何都无法工作,只需放弃它并根据最新的提交进行提交。

答案 2 :(得分:1)

使用git / gerrit处理共享代码库时的最佳做法是尽可能减少个别更改。不是在一个较大的提交中提交您的更改,而是将其拆分为一系列较小的提交(将分支提交给gerrit),每次提交一次逻辑更改。此工作流程:

  • 减少单次更改中发生冲突的可能性
  • 使冲突更容易,更快解决
  • 更快地审核

这样,有人在你降低之前合并他的变化的机会。 您应该尽快更改,以便更轻松地审核更改。定期对上游分支进行重新定位意味着您可以及时了解更改,并且不必处理大型合并冲突(您需要更小,更易于管理的问题才能解决)。

我不确定这会回答你的问题,但我遵循这两条规则并没有问题。