Dev

[Git / IntelliJ] 마이크로서비스 구성 시 서브모듈의 형상 관리 통합하기

김세진 2024. 10. 16. 09:41
반응형

 

 

 

 

개요

 

마이크로서비스를 공부하면서 예제 프로젝트를 진행하였는데, 부모 프로젝트에서 모듈을 생성하면 아래와 같이 형상 관리가 모듈별로 이루어지는 문제가 있었다. 

 

 

 

심지어 둘 이상의 모듈을 수정한 다음 push하면 각각의 모듈에서 형상 관리가 이루어지므로 다음과 같이 더욱 지저분하게 보였다.

 

너저분-

 

 

아직 모듈이 하나이고 브랜치들의 Merge 작업이 없기 때문에 이정도이지, 나중으로 가면 더 심각해질 문제였다. 필자는 IntelliJ에 내장된 Git GUI를 애용하기 때문에 더 용납할 수 없었다.


물론 서브모듈별로 Git이 관리되는 것 자체가 문제라고 할 수는 없지만, 단순한 학습용 프로젝트이기 때문에 이렇게 관리되는 것을 원치 않았다.

 

 


해결 방법

 

원인은 어찌보면 당연하게도 모듈이 별도의 Git 저장소로 관리되고 있었기 때문이다. 따라서 모듈의 .git을삭제하고, 상위 프로젝트의 Git 저장소로 통합하면 된다.

 

1. 모듈별 Git 저장소 해제

rm -rf 모듈명/.git
rm -rf 모듈명/.gitignore

 

2. 디렉토리 매핑 해제

Preferences > Version Control > Directory Mappings 에서 Git 저장소가 해제되어 빨갛게 표시된 모듈을 선택한 뒤, - 버튼을 클릭하여 디렉토리 매핑을 해제해준다.

 

 

그럼 다음과 같이 기존에 이원화되었던 형상 관리가 하나로 통합된 모습을 확인할 수 있다.

 

 

 

 

 

 

반응형