프로그래밍/Git

[Git] Git Submodule 로 다른 저장소 코드 가져오기

jeongseop 2024. 10. 21. 12:04

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