Git Push 시에 등록된 여러 Reviewer를 등록하는 방법에 대해 알아보자.
Git Config 파일을 수정하는 방법
- Git Clone 이후에 {repo}/.git/config 파일에 receivepack 명령어를 넣는 방법
- 방법
- Git Clone
- {repo}/.git/config 파일에 다음과 같이 수정
- receivepack 명령어에 리뷰어들을 모두 넣어 등록
- [remote "origin"]
url = blabla...
fetch = +refs/heads/*:refs/remotes/origin/*
receivepack = git receive-pack --reviewer={email} --reviewer={email} --reviewer={email} - 이후 git push 명령시에 자동으로 Gerrit reviewer 들이 등록된다.
- 단점
- 각 Git Repository 마다 config 설정을 해줘야 한다.
- Git Repository를 통째로 삭제하고, Git Clone을 다시 받으면, config 파일도 삭제되기 때문에 위의 작업을 다시해야한다.
Bash Command로 등록하는 방법
- Bash command로 "git-push" 라는 wrapper command를 작성하여 global 하게 reviewer를 등록하는 방법
- 방법
- bashrc 파일을 다음과 같이 수정
- $ vi ~/.bashrc
- function git-push() {
git push --receive-pack='git receive-pack --reviewer {email} --reviewer {email}' origin HEAD:refs/for/$1
} - 수정된 .bashrc 파일을 실행
- $ source ~/.bashrc
- 이후 어디에서나 다음과 같은 command를 사용 가능
- $ git-push {branch}
- $ git-push develop
- $ git-push master
- 위의 명령 실행시 자동으로 Gerrit reviewer 들이 등록된다.
- 장점
- 각 Git Repository 마다 config 설정이 필요없이 어느 Git Repository에서나 사용 가능
- 단점
- push 와 동시에 리뷰어가 자동 등록 되 커밋 별 선택적 리뷰어 등록이 불가능.
- 경우에 따라 등록된 리뷰어를 다시 지울 필요가 있거나 version up 등 모든 리뷰어 등록이 필요 없는 경우 불편할 수 있다.
'Git' 카테고리의 다른 글
[Git] Git Merge 중 Conflict 시에 특정 브랜치의 내용으로 자동 Merge (0) | 2021.10.28 |
---|---|
[Git] Git branch 및 history 를 포함한 zip 파일 생성 (0) | 2021.06.15 |
[Git] 기본설정 (0) | 2016.12.21 |
[Git] You are in the middle of a cherry-pick -- cannot amend 해결방법 (0) | 2015.12.22 |
[Git] ssh_exchange_identification: read: Connection reset by peer 에러 발생시 (0) | 2015.12.14 |