Hook
은git
상의 이벤트마다 자동으로 실행될 스크립트를 지정
Hook
은 일종의 자동화로 git
에서 특정 작업을 hook
으로 설정하면 설정된 이벤트에 맞게 지정된 명령을 수행한다.
git Hooks
폴더는 프로젝트 폴더 내 .git
> hooks
폴더로 존재하며 파일 끝에 .sample
을 지워주면 hook
실행파일이 된다.
프로젝트의 훅을 적용하기 위해 프로젝트 폴더에서 아래 명령어 실행한다.
gitmoji -i
다음 hooks
폴더에 추가된 파일 확인하여 프로젝트에 수정 후 git add .
, git commit
명령어를 입력하여 진행한다.
커밋이 완료되었다면 push
하여 확인한다.
만약 훅을 해제하려면 hooks
폴더에서 추가된 파일을 삭제하면 된다.
Submodules
은git repository
아래에 다른 하위git repository
를 관리하기 위한 도구
Submodule
은 부모 repository
에 자식 repository
를 두고 관리하기 위한 도구이다.
주로 프로젝트 폴더 안에 또 다른 프로젝트가 포함될 때, 혹은 여러 프로젝트에 사용되는 공통모듈일 때 유용하게 사용된다.
두 개의 프로젝트(main-project
, submodule
)를 생성한 뒤 커밋하여 두 프로젝트 모두 GitHub
에 각각 레포지토리를 생성
아래 명령어를 실행하여 main-project
에 서브모듈로 submodule 프로젝트
추가
git submodule add (submodule의 GitHub 레포지토리 주소) (하위폴더명, 없을 시 생략)
init
후 클론git submodule init (특정 서브모듈 지정시 해당 이름)
git submodule update
GitHub
에서 submodule
의 수정사항 커밋git submodule update --remote
서브모듈 안에 또 서브모듈이 있을 시: --recursive 추가