我刚刚创建了一个新的变化,我希望拉到Gerrit。我做了(我希望)通常的方式,即创建新的分支,做魔术,提交。现在,我想将更改推送到Gerrit。所以......
git checkout 82-changes-and-fixes-to-files-view
git push origin HEAD:refs/for/82-changes-and-fixes-to-files-view
(紧缩,紧缩)
! [remote rejected] HEAD -> refs/for/82-changes-and-fixes-to-files-view (branch 82-changes-and-fixes-to-files-view not found)
找不到分店?嗯......我想到了一些事情,文档说了一些关于在推送更改之前通过Gerrit UI,手动创建分支的事情。我对吗?无论如何,我正在这样做。我正在创建一个分支,通过用户界面,将其命名为82-changes-and-fixes-to-files-view
以及相应的修订版,取自git status
(2b25fe7612f1563a78c9dc2d1574ae3dcfe9d5a1
)。而且,再次......
git push origin HEAD:refs/for/82-changes-and-fixes-to-files-view
(crunch,cruch)
! [remote rejected] HEAD -> refs/for/82-changes-and-fixes-to-files-view (no new changes)
答案 0 :(得分:0)
此问题的解决方案是始终使用当前HEAD的最后一次提交ID ,而不是提交给您的分支的提交。使用分支的最后一次提交ID是错误的。为什么 - 这超出了我的想象。
所以,正确的道路是:
作为替代方案,您只需点击Create Branch
,Initial Revision
字段为空,因此Gerrit会自动填充它。然后再次按Create Branch
按钮。
编辑: 这个答案只解释了做什么,让Gerrit接受了变更。它没有解释,为什么在以前的方法(解释中),Gerrit声称,没有变化并且不接受代码,而它实际上根本没有代码(对于那个特定的分支)。对我来说,这是一个巨大的错误,导致代码丢失。 (根据下面的评论不正确)