Skip to content

서브모듈 전략

joanne edited this page Aug 10, 2021 · 4 revisions

서브모듈 전략

  1. 서브모듈을 수정할 일이 있으면 모두(6인)에게 말하고, 변경사항을 알려준다. 서브모듈 레포지토리를 업데이트한다.
  2. 모두 git submodule update --merge --remote --init 을 해서 로컬 환경 서브모듈을 최신으로 유지한다.
  3. 서브모듈에 대한 작업은 최대한 동시에 작업하지 않도록 한다.
  4. 서브모듈에 대한 작업을 하지 않은 사람은 자신의 커밋에 서브모듈에 대한 내용을 포함하지 않는다.
  5. 서브 모듈을 수정하는 사람은 자신의 커밋에 서브모듈의 변경도 포함시킨다.

팀원이 서브모듈을 수정하여 로컬의 서브모듈 최신화 해야하는 경우

git submodule update --merge --remote --init  
  • 원격의 서브모듈의 최신 커밋을 가져온다 (의심된다면 서브모듈 repo에 가서 커밋번호 확인하기)



서브모듈 내용을 수정하고 싶은 경우

  1. 로컬의 서브모듈 업데이트
git submodule update --merge --remote --init  
  1. 서브모듈 안의 내용을 수정한다.
  2. 서브모듈 레포에 푸시한다.
cd dev 
git checkout master
git add 
git commit -m “어쩌구”
git push origin master
(서브모듈 repo에 푸시)
  1. 팀원에게 알리기

서브모듈도 바꾸고 메인 프로젝트에서도 작업하고 싶은 경우

  1. 평소처럼 작업을 한다.
  2. 위를 참고하여 서브모듈을 수정한다.
  3. PR을 날리기 전 서브 모듈의 변경에 대한 커밋도 feature 브랜치에 포함시킨다.
cd .. (메인 메인 프로젝트 경로로 이동)
git checkout feature/xx
git status 
# (서브 모듈의 변경사항이 있을꺼임)
git add dev
git commit -m “어쩌구”
git push origin feature/xx
Pull Request
Clone this wiki locally