2014-07-08 35 views
0

我正在使用git來提交我的分支。 我有這個問題推的git:Git commit問題

$ git push origin HEAD:refs/for/master 
Counting objects: 117, done. 
Delta compression using up to 2 threads. 
Compressing objects: 100% (29/29), done. 
Writing objects: 100% (29/29), 2.79 KiB | 0 bytes/s, done. 
Total 29 (delta 17), reused 0 (delta 0) 
remote: Resolving deltas: 100% (17/17) 
remote: Processing changes: refs: 1, done 
remote: ERROR: missing Change-Id in commit message footer 
remote: Suggestion for commit message: 
remote: Merge branch 'master' of ssh://s3.testing.com:29418/testing into m 
asoud 
remote: 
remote: Change-Id: I12be02f75b42c4304591835dffe8d7e8aa01f761 
remote: 
remote: Hint: To automatically insert Change-Id, install the hook: 
remote: gitdir=$(git rev-parse --git-dir); scp -p -P 29418 [email protected]:hooks/commit-msg ${gitdir}/hooks/ 
remote: 
remote: 
To ssh://[email protected]:29418/telewebion 
! [remote rejected] HEAD -> refs/for/master (missing Change-Id in commit messag 
e footer) 
error: failed to push some refs to 'ssh://[email protected]:29418/ 
testing' 

我想這些東西太:

scp -p -P 29418 [email protected]_gerrit_address:hooks/commit-msg .git/hooks/ 

git rebase masoud -i 

git commit --amend 

,但我仍然得到同樣的錯誤。

+0

你的git存儲庫比默認的有更嚴格的規則。你必須遵守他們才能推動。仔細閱讀以「remote:」開頭的所有行。 –

回答

1

您的Change-Id已遺失。檢查您的日誌消息並確保Change-Id是您提交消息的最後一行。

如果您已複製到commit-msg掛鉤,如您所述,並已完成git commit --amend,則Change-Id現在應存在於您的提交消息中。

1

您嘗試推送合併提交。這些不是由gerrit commit msg hook修改的。但是,錯誤消息已經建議使用有效的ChangeId。

remote: Suggestion for commit message: 
remote: Merge branch 'master' of ssh://s3.testing.com:29418/testing into m 
asoud 
remote: 
remote: Change-Id: I12be02f75b42c4304591835dffe8d7e8aa01f761 

所以,簡單的做一個

git commit --amend 

,並插入Change-Id值的信息作爲最後一行的上方。

0

見行

remote: Merge branch 'master' of ssh://s3.testing.com:29418/testing into m 

asoud

這表明,有一個合併提交。在此合併提交之前,執行顯示日誌並對更改ID執行軟重置。