格里特:! [远程拒绝] HEAD - > refs / publish / master(没有新的更改)

时间:2014-05-22 13:19:07

标签: git gerrit

我做了一些更改,提交了它们并将分支推送到Gerrit(git push gerrit)。现在我的更改没有出现在Gerrit中,我认为这是因为我手动推送更改而不是使用git review。当我现在运行git review时,我收到此错误:

remote: Processing changes: refs: 1, done    
To ssh://user@gerrit-host:29418/Project
! [remote rejected] HEAD -> refs/publish/master (no new changes)
error: failed to push some refs to 'ssh://user@gerrit-host:29418/Project'

我如何告诉Gerrit需要审核我的变更集?

5 个答案:

答案 0 :(得分:7)

您可以从远程分支中删除该提交,或者您可以执行此操作

git commit --amend

这将创建一个新补丁

git push gerrit HEAD:refs/for/your_branch

答案 1 :(得分:4)

我认为问题在于提交已经在远程分支中。这就是推动没有新变化的原因。首先尝试remove来自远程分支的提交,然后将提交推送到审查分支。

答案 2 :(得分:0)

我发现git review不会提交没有更改的分支。它基本上是在说:“因为你的提交没有变化,所以没有理由提交......所以我不会”。与你的情况不同,当前一次推送出现错误时,我发生了这种情况。

我在这些情况下所做的只是添加一个小改动(例如添加一个空行),以便gerrit看到不同的东西,然后它就可以了。

您可以做的另一件事(取决于您的组织使用的流程)是从更改日志中删除Change-Id(使用git commit --amend),然后运行git review,从而创建新的评论就格里特而言,基本上都是盯着看。

答案 3 :(得分:0)

git commit --amend无法解析多个提交,只能将最后一个提交推送给Gerrit。

另一种解决方法是签出并使用cherry-pick commitid1 commitid2 commitid3,然后按。

答案 4 :(得分:-1)

避免此错误

SELECT a.ID
    ,b.Code
    ,ISNULL(b.Des,a.Des) AS Des
FROM Table1 a
LEFT JOIN Table2 b ON a.ID = b.ID

请按以下步骤操作

! [remote rejected] HEAD -> refs/for/develop (no new changes)