GIT向Gerrit推送修改

GIT向Gerrit推送修改,git,gerrit,Git,Gerrit,我正在使用GIT。我做了几次改变,并推动了Gerrit。我收到了更新的评论。据我所知,一旦您通过修改上一次提交的评论进行编辑,使用相同的提交消息,并以这种方式提交。这就是我周五所做的,它将更新发送给了评论者 今天是星期一。当我提到Eclipse时,我做了一次git拉取,得到了最新的更新。我看了Gerrit的评论,他们还想让我做一些编辑(主要是删除一些评论)。我做了这些改变 当我去提交并修改最后一条时,虽然它没有显示Jira故事或更改id。最后一条提交消息是 *Merge branch 'mast

我正在使用GIT。我做了几次改变,并推动了Gerrit。我收到了更新的评论。据我所知,一旦您通过修改上一次提交的评论进行编辑,使用相同的提交消息,并以这种方式提交。这就是我周五所做的,它将更新发送给了评论者

今天是星期一。当我提到Eclipse时,我做了一次git拉取,得到了最新的更新。我看了Gerrit的评论,他们还想让我做一些编辑(主要是删除一些评论)。我做了这些改变

当我去提交并修改最后一条时,虽然它没有显示Jira故事或更改id。最后一条提交消息是

*Merge branch 'master' of http://gitscm.xxx.com/SQA-Automation/XXX-XXXXX*
(对不起,我仍然不确定公司名称和URL是否保密,所以我只是用一些XXX替换了它们

所以我不确定。我应该只使用这个提交消息吗?我想如果我做一个新的,当我试图通过给我一个“拒绝”消息推给Gerrit时,它会失败,但即使它成功了,它也会进行新的审查


你知道怎么做吗?我读到了关于“重置”的内容,但很困惑。

似乎你在修改提交之前运行了
git-pull
。这样的
git-pull
会带来麻烦,尤其是当你使用Gerrit时

您没有指定“已拒绝”消息的确切内容。因此我必须猜测一下。您可能无权推送合并提交,或者推送失败只是因为合并提交没有更改Id

您没有必要运行
git pull
。如果您坚持运行,
git pull-r
会更好。
-r
-rebase
更新本地分支,而不创建任何合并提交。除非运行
git commit--amend,否则合并提交不会调用生成更改Id的
commit msg


现在,您可以运行
git reset HEAD^--hard
返回到需要修改的上一次提交。进行编辑,然后进行修改,确保更改Id保持不变。然后,您可以直接推送更改Id,而无需拉动。让审阅者和提交者决定是重新设置基础还是合并到目标分支。他们可以这样做它是通过Gerrit change web UI实现的。

我们确实有git bash,但他们鼓励我们使用Eclipse中的git,它似乎只有“pull”而不是“pull-r”。我可以从git bash中进行拉取,但听起来好像在提交修改之前不应该进行拉取。@Tony在其他一些伪装中有类似于“rebase pull”的东西,相当于“git pull-r”。“git commit--amend”重写当前分支的最后一次提交。如果您先运行“git pull”,则当前分支可能会更新,最后一次提交将成为新分支(在您的情况下是合并提交)。修改新提交不是您需要的。尽管代码以这种方式似乎没有问题,但历史记录还是一团糟。