2014-07-08 3 views
0

내 커밋을 위해 git을 사용하고 있습니다. 커밋 커밋 문제

$ 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이 커밋 메시지의 마지막 줄인지 확인하십시오.

커밋 - 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를 소프트 리셋하십시오.