我做了一些更改,提交了它们并将分支推送到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需要审核我的变更集?
答案 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)