", 바라건대"- Git Hooks 소개
트윗
Challah Bäck 소녀
@emgrasmeder
커밋 메시지를 ", 바라건대"로 수정하는 커밋 후 후크
오후 22:29 - 2021년 5월 4일
나는 오늘 일찍 타임라인에서 이것을 보았고, 크게 웃었고, 오랫동안 git hooks에 대해 알고 있었음에도 불구하고 실제로 한 번도 작성하지 않았다는 것을 깨달았습니다. 나는 앞서 언급한 트윗을 재현하는 데드 심플 훅을 작성하여 문제를 해결하기로 결정했습니다.
코드
다음과 같이 새 git repo를 초기화하여 시작합니다.
cd /tmp && mkdir hook-testing
cd hook-testing
git init
git은 저장소를 초기화할 때 실제로 많은 샘플 후크를 생성합니다. ls .git/hooks/
를 실행하면 모두 볼 수 있습니다.
자세히 보면 prepare-commit-msg.sample
라는 후크가 있습니다. 얼마나 편리한 지! 활성화되면 이 후크는 이 저장소에서 작업할 때 git commit
명령이 실행될 때마다 실행됩니다.
githooks Documentation에서 이 후크에 대한 자세한 내용을 읽을 수 있습니다.
git이 실제로 후크를 선택하고 실행하려면 .sample
확장을 제거해야 합니다.
mv .git/hooks/prepare-commit-msg.sample .git/hooks/prepare-commit-msg
편집기에서 .git/hooks/prepare-commit-msg
를 열고 자유롭게 예제를 살펴보십시오. 그런 다음 모두 다음으로 바꿉니다.
#!/bin/sh
COMMIT_MSG_FILE=$1
COMMIT_SOURCE=$2
DREAM=", hopefully"
if [[ "$COMMIT_SOURCE" == "message" ]]
then
echo `cat $COMMIT_MSG_FILE`$DREAM > $COMMIT_MSG_FILE
fi
쉘 스크립팅 능력이 부족하기 때문에 이 후크를 매우 간단하게 유지했습니다.
git은 세 개의 인수를 prepare-commit-msg
후크에 전달하지만 우리는 처음 두 개에만 관심이 있습니다.
다음과 같이 새 git repo를 초기화하여 시작합니다.
cd /tmp && mkdir hook-testing
cd hook-testing
git init
git은 저장소를 초기화할 때 실제로 많은 샘플 후크를 생성합니다.
ls .git/hooks/
를 실행하면 모두 볼 수 있습니다.자세히 보면
prepare-commit-msg.sample
라는 후크가 있습니다. 얼마나 편리한 지! 활성화되면 이 후크는 이 저장소에서 작업할 때 git commit
명령이 실행될 때마다 실행됩니다.githooks Documentation에서 이 후크에 대한 자세한 내용을 읽을 수 있습니다.
git이 실제로 후크를 선택하고 실행하려면
.sample
확장을 제거해야 합니다.mv .git/hooks/prepare-commit-msg.sample .git/hooks/prepare-commit-msg
편집기에서
.git/hooks/prepare-commit-msg
를 열고 자유롭게 예제를 살펴보십시오. 그런 다음 모두 다음으로 바꿉니다.#!/bin/sh
COMMIT_MSG_FILE=$1
COMMIT_SOURCE=$2
DREAM=", hopefully"
if [[ "$COMMIT_SOURCE" == "message" ]]
then
echo `cat $COMMIT_MSG_FILE`$DREAM > $COMMIT_MSG_FILE
fi
쉘 스크립팅 능력이 부족하기 때문에 이 후크를 매우 간단하게 유지했습니다.
git은 세 개의 인수를
prepare-commit-msg
후크에 전달하지만 우리는 처음 두 개에만 관심이 있습니다.$1
는 커밋 로그 메시지가 포함된 파일의 이름입니다. 우리는 낙관적인 메시지를 이 파일에 추가할 것입니다. $2
는 커밋 메시지의 소스이며 커밋이 생성되는 방식에 따라 설정됩니다(예: merge
, squash
등 또는 일반 이전commit
). 이 경우 커밋 소스가
"message"
인 경우에만 후크가 실행됩니다. 이는 커밋이 -m
플래그를 사용하여 수행되었음을 의미합니다. 원하는대로 자유롭게 수정하십시오.실제로 작동하는 것을 보려면 무언가를 커밋해야 합니다.
git commit --allow-empty -m "adding an empty commit"
[master 1031a40] adding an empty commit, hopefully
위에서 볼 수 있듯이 커밋 메시지가
", hopefully"
메시지를 포함하도록 업데이트되었습니다. 다시 확인하려면 git log
를 실행하여 다시 볼 수 있습니다.결론
이 게시물이 유익하고 재미있었기를 바랍니다. 후크 자체는 매우 간단하지만 실제로 작업하면서 git 내부에 대한 로그를 배웠습니다.
전적으로 트윗에서 영감을 받아 작성한 다른 게시물을 보고 싶다면 다음을 고려하세요.
읽어 주셔서 감사합니다!
Reference
이 문제에 관하여(", 바라건대"- Git Hooks 소개), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/brodan/hopefully-an-intro-to-git-hooks-507c텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)