목적
기존 Notion 에서 application-{local}.yml, .env 등을 가져와서 복붙하는게 귀찮기도 하고, 인덴트가 안맞는 에러 등 은근 귀찮으면서도 또 고치기는 애매한 것들이 있었다.
따라서 git module을 통해 귀찮은 과정을 약간은 해결해보자
submodule 등록방법
•
submodule 등록방법
1.
Respositroy 를 하나 판다 ( 우리는 config 이므로 까비 멤버만 볼 수 있는 private repository 를 생성한다)
git submodule add git@github.com:42cabi/config.git
Java
복사
2.
cabi 의 git 루트 폴더 혹은 그 하위 폴더에서 1번에서 생성한 repository 를 불러온다
3.
해당 git 프로젝트에 sub module 로 다른 깃헙 프로젝트가 등록되어있는것을 확인할 수 있다.
•
.gitmodules 의 내용
[submodule "config"]
path = config
url = git@github.com:42cabi/config.git
Java
복사
•
위와같이 서브모듈의 주소와 path가 적힌 파일이 자동생성된다.
•
git add, commit push 로 넣어주면 완성
앞으로 yml 혹은 .env 파일이 수정될때…
submodule 수정 및 사용 방법
•
application.yml 을 변경해야할 일이 있을경우 사용방법
// config 디렉토리의 yml 파일 등등 수정 후
// config repository 에 반영
cd config
git add .
git commit -m "{change commit message}"
git push
// config submodule 업데이트
cd .. // get back to 42cabi workdir
git add config
git commit -m "[COMMON] feat: config module update"
git push
Java
복사
파일 수정완료 후 절차
1.
cd config ( 현재 42cabi 작업 디렉토리에서 cd config)
config repository 는 반영 되었다.
하지만 까비의 config 는 과거에 머물러있다.
2.
여기서 git add , commit, push 를 한다
⇒ 그러면 config repository “만” 업데이트 된다.
아직 42cabi 에 submodule로 등록된 내용은 과거 커밋을 바라보고 있다
따라서 cabi 에 등록된 submodule 을 업데이트 시켜줘야 한다
3.
42cabi 작업 디렉토리로 나와서 git add, commit, push 를 다시 해준다.
이 과정이 업데이트된 config repository 와 42cabi에 등록된 submodule을
연결시켜주는 과정이다.
•
config submodule 이 최신으로 업데이트 되었다.
config update
•
42cabi 작업폴더의 config 폴더 안의 내용들을 42cabi 작업폴더로 Ctrl + c → Ctrl + v 후 덮어쓰기 하면 업데이트 완료
•
하지만 혹시 모르니 노션에도 업데이트 하도록하자