하루하루

[Gerrit] push 오류 발생 시 본문

IT/Git

[Gerrit] push 오류 발생 시

Jo.o 2020. 1. 6. 11:47
반응형

 

- error: 레퍼런스를 'ssh://@@@@@'에 푸시하는데 실패했습니다.

$ git push origin master

 

위 처럼 push를 할 경우 발생하였다.

 

gerrit으로 push 할 경우 HEAD:refs/for/{branch-name} 으로 push 해야 한다.

 

$git push origin HEAD:refs/for/master

 

 

-  [remote rejected] HEAD -> refs/for/master (missing Change-Id in commit message footer)

 

push를 해도 위와 같이 Change-Id 가 missing 이라는 메시지가 발생한다.

gerrit의 리뷰는 commit 메시지의 Change-Id로 구분하기 때문에 항상 커밋 메시지에 Change-Id를 넣어줘야 한다.

 

더보기

Delta compression using up to 12 threads.
오브젝트 압축하는 중: 100% (10/10), 완료.
오브젝트 쓰는 중: 100% (21/21), 1.86 KiB | 0 bytes/s, 완료.
Total 21 (delta 0), reused 0 (delta 0)
remote: Processing changes: refs: 1, done    
remote: ERROR: missing Change-Id in commit message footer
remote:
remote: Hint: To automatically insert Change-Id, install the hook:
remote:   gitdir=$(git rev-parse --git-dir); scp -p -P 29418 @@:hooks/commit-msg ${gitdir}/hooks/
remote: And then amend the commit:
remote:   git commit --amend
remote:
To ssh://@@@
 ! [remote rejected] HEAD -> refs/for/master (missing Change-Id in commit message footer)

 

에러 메시지를 보면 install the hook 을 하라고 적혀있다. 복사해서 install 해준다.

 

$gitdir=$(git rev-parse --git-dir); scp -p -P 29418 @@:hooks/commit-msg ${gitdir}/hooks/

그 후 기존의 commit 메시지를 --amend 옵션을 사용해 수정하면 자동으로 Change-Id가 삽입된다.

 

$git commit --amend

 

이후로 commit을 할 땐 -s 옵션을 사용해 commit 하면 자동으로 Change-Id가 삽입된다.

$git commit -s

 

반응형

'IT > Git' 카테고리의 다른 글

[Git] git 명령어 정리  (0) 2020.01.22
[Git] git 4개의 공간  (0) 2020.01.21
[Git] git 저장소 만들기  (0) 2020.01.06
[Git] git 서버 사용을 위한 ssh 공개키 만들기  (0) 2020.01.06
[Git] git 최초 설정하기  (0) 2020.01.06