본문 바로가기
프로그래밍 관련/GitHub&Git&SourceTree

git hook : git과 스크립트 실행 연동

by 존버매니아.임베디드 개발자 2022. 11. 9.
반응형

[Git] Git hooks를 이용하여 commit message 에 특정 문자 넣기 | Archived by Sujin (sujin-park.github.io)

위 사이트 내용 참조,공부하면 좋다.


▶ git hook이란 git에서 어떤 명령을 수행했을 때 , 자동으로 호출되는 hook 이다.

-  각 명령어 별로 매칭되는 hook file이 있어서, 이 파일안에 우리가 자동수행 하고 싶은 명령을 집어넣는다.

   그러면 git에서 해당 명령어를 실행할 때, 해당 hook file 안의 명령도 자동 실행되는 그런 개념이다.

 

SW를 빌드한 후에 자동으로 post build 동작으로 특정 bat 파일을 실행하는것과 비슷한 느낌의 것이다.

 

간단한 예시를 들면 이해가 더 편할텐데

▶예시 : git에서 commit을 할 때, 커밋 메세지 앞에 자동으로 현재 날짜,시각을 적고 싶다면?

별도의 자동화 조치를 취하지 않는다면 유저가 커밋 할 때마다 일일이 현재 시각을 확인해서 키보드로 커밋 메세지 입력해서 커밋을 해야 할 거다.

이 짓을 하지 않기 위해.. 내가 커밋명령만 하면 자동으로 앞에 현재 시각 가져오게 할 수 없을까?

이 때, 여러가지 방법이 있겠지만 활용가능한게 git hook을 이용하는 거다.

 

▶ 전반적인 Hook 사용방법은 다음과 같다.

repository를 만들면 해당 폴더안에 숨김파일로 .git 폴더가 생기는데,

그 폴더 내부에 보면 hooks 라는 폴더가 있다.

hook 파일을 작성해서, 이 폴더 안에 집어넣으면 적용된다.

▶ prepare-commit-msg

커밋 메시지를 수정하기 전에 먼저 prefix 또는 suffix 를 붙이는 것과 같이 hook 을 통해 커밋 메시지를 손보고 싶을 때 사용한다.

위 파일에다가.. 커밋 할 때 자동으로 작성하고싶은 내용? 그런걸 명령어로 적절하게 셋팅을 해놓고..

저 파일을 앞에서 말한 .git\hooks 에 집어넣는다.

이제 git commit을 하면? 저 훅이 실행된다!

 

전반적인 개념은 이렇고,

git의 여러가지 명령에 대해서

저런 hook 파일들이 존재하니까.. 

어떤 명령에 어떤 hook 파일이 있는지를 파악해서 적절히 활용하면 된다.!

 

 

 

 

 

 

 

반응형