Git 서브모듈 관련 사용법
1. 서브모듈 간략 정의
- Git Repository를 링크를 걸어 가져와 적용하는 방식으로, A Repository에서 타 Repository 항목을 동시에 관리할 수 있음.
2. 사용하는 이유
- A, B, C 세개의 Repository가 있다고 가정하고, C Repository 항목을 A와 B에서 공통으로 사용할 경우, C의 항목 1번만 수정하면
A와 B에 모두 동시 적용이 가능
3. 서브모듈 추가
- A, B, C 각 Repository 생성
- A, B, C 각 Repository와 연결하여 각 Local 공간과 연결
- 소스트리의 A, B Repository 에서, History 선택 -> 하단 스태시 아래 빈공간 마우스 우클릭 -> 서브모듈 추가 클릭
-> C의 Remote Repository 주소 입력 및 Local 공간 선택 후 추가
=> 각 A, B에 C의 Repository가 로컬에 개별적으로 존재함. 즉 C의 로컬은 원본, A에 포함된 서브모듈, B에 포함된 서브모듈 3개임
- 서브모듈 항목이 생성됨
4. 서브모듈 Push
- 3개중 어느 한곳의 내용을 수정할 경우, 일괄 적용됨. 단, 로컬 작업은 별개로 남음.
- 따라서, A, B 에서 서브모듈 C를 수정할 때, 동시에 작업하지 않도록 신중을 기해야 함.
- push전 pull을 통해 변경내용을 미리 가져오는것이 좋음.
4.1. C Repository에서 직접 내용 수정
- 기존 방식과 동일
- 각 A, B 에서 서브모듈 항목 더블클릭시, 별도의 소스트리 창이 생성되며, pull로 가져오기를 해야함.
4.2. A, B Repository에서 내용 수정
- 각 A, B 에서 서브모듈 항목 더블클릭시, 별도의 소스트리 창이 생성되며, 여기서 Push 진행
- 각 A, B 에서 서브모듈 항목 더블클릭시, 별도의 소스트리 창이 생성되며, pull로 가져오기를 해야함.