git 서브모듈은 git 저장소를 다른 git 저장소의 하위 디렉토리로 유지하는 기능이다.
다른 저장소를 프로젝트에 복제하고 커밋을 별도로 유지할 수 있다.
사내에서 공용으로 쓰는 간단한 JavaScrpit 파일을 서브모듈로 등록해 보았다
1. 서브모듈 add
git submodule add {서브모듈 repository url} {로컬에 저장할 경로, 입력안하면 root에 저장됨}
인텔리제이를 사용하기때문에 터미널을 열어서 바로 입력했다.
2. 서브모듈 추가 확인
위 명령어로 서브모듈을 추가하면, 서브모듈 폴더가 생기고 .gitmoudules 라는 파일에 서브모듈의 정보가 생성된다.
생성된 폴더에 있는 파일을 그냥 사용하면 된다.
3. 협업 (업데이트)
이 서브모듈을 추가한 프로젝트를 다른 사람이 클론하거나, 서브모듈이 최신 상태가 아닐 때는 업데이트가 필요하다.
처음 리포지토리를 클론하고나, 서브모듈이 초기화가 되지 않았을 때
git submodule update --init --recursive
서브모듈이 원격 저장소의 최신 상태로 유지되어야 할 때, 원격의 최신 커밋으로 업데이트
git submodule update --remote --recursive
4. 주의사항
서브모듈은 clone 이나 pull 시 자동으로 업데이트 되지 않는다.
서브모듈의 변경사항을 추적하려면 주기적으로 서브모듈을 업데이트해야한다.
git 훅이나 스크립트를 사용하여 자동으로 업데이트 하도록 설정하는 것이 좋다.
README에 정보를 꼭 포함하자
'프로그래밍 > Git' 카테고리의 다른 글
[Github] Github Desktop 간단한 사용법 (0) | 2022.08.02 |
---|---|
[Git] 맥북 M1 맥 OS Git 설치하기 (0) | 2022.02.27 |