티스토리 뷰
발생일: 2014.02.14
키워드: git, github, git hook, github hook, 깃훅, commit hook, 커밋훅
문제:
프로젝트 내의 특정 파일을 변경 후 커밋하는 경우엔, 사용자 입력을 받아 별도의 처리를 해주려고 한다.
깃의 커밋훅(pre-commit, post-commit)에서 사용자 입력을 받을 수 있는 방법이 있을까?
해결책:
아래 명령으로 호출 후 read 명령으로 사용자 입력을 가져올 수 있다.
예제 코드에서는 사용자 입력을 받아 gem 의 새 업데이트 정보를 확인한다.
# Allows us to read user input below, assigns stdin to keyboard
exec < /dev/tty
while true; do
read -p "[post-commit hook] Check for outdated gems? (Y/n) " yn
if [ "$yn" = "" ]; then
yn='Y'
fi
case $yn in
[Yy] ) bundle outdated --pre; break;;
[Nn] ) exit;;
* ) echo "Please answer y or n for yes or no.";;
esac
done
하지만, 안타깝게도 이 방법은 소스트리에선 동작하지 않는다.
멤버 대부분이 소스트리를 사용하고 있어서 이렇게 처리하진 않았다.
참고:
반응형
댓글
공지사항