본 문서는 Git Notes for Professionals (라이센스:CC-BY-SA) 를 한글로 번역한 문서입니다. 번역상 오류가 있을 수 있으므로 정확한 내용은 원본 문서를 참고하세요.
Section 24.3: 특정 push 요청들을 자동으로 다른 원격 저장소로 전달(forward) 하기
post-receive hook 은 해당 저장소로 들어오는 (incoming) push 요청들을 자동으로 다른 저장소에 전달하기 위해 사용될 수 있다.
$ cat .git/hooks/post-receive
#!/bin/bash
IFS=' '
while read local_ref local_sha remote_ref remote_sha
do
echo "$remote_ref" | egrep '^refs\/heads\/[A-Z]+-[0-9]+$' >/dev/null && {
ref=`echo $remote_ref | sed -e 's/^refs\/heads\///'`
echo Forwarding feature branch to other repository: $ref
git push -q --force other_repos $ref
}
done
역주: 위 예제에서 other_repos 부분을 forward 하고자 하는 원격 저장소 이름으로 대체하면 됩니다.
이 예제에서, egrep 정규식은 push 요청된 브랜치 이름이 특정 형식 (샘플 예제: Jira 이슈 항목을 나타내는 JIRA-12345 와 같은 형식) 으로 이루어져 있는지를 검사한다.
당연하게도, 만약 모든 요청된 브랜치에 대하여 forward 작업을 수행하고 싶다면 이 부분은 제거 가능하다.
[출처] https://books.goalkicker.com/GitBook/ (CC BY-SA)
반응형
'번역 > Git Notes for Professionals' 카테고리의 다른 글
24.5: 로컬 hook 들의 종류 (0) | 2019.12.17 |
---|---|
24.4: Commit-msg hook (0) | 2019.12.17 |
24.2: 커밋 전에 자동으로 Maven (혹은 다른 빌드 시스템) 의 빌드 검증하기 (0) | 2019.12.16 |
24.1: Pre-push hook (0) | 2019.12.16 |
23.6: pull 수행중의 "권한없음(permission denied)" 에러 (0) | 2019.12.13 |