IT/git

[git] submodule 제거하기

내일은교양왕 2025. 7. 9. 07:35

상황

모노레포에서 A라는 레포를 클론함. 

그리고 A 레포 푸시함

그로 인하여 git 관리 주체가 두개 생김. (기존 모노레포와 A 레포)

 

첫번째 시도 > .git directory 삭제

git 관리 주체를 하나로 줄이기 위하여 A 레포 내에 있는 .git directory를 삭제하고 푸시함

그리고 github에 들어가서 확인해보니 여전히 submodule 처럼 UI가 노출됨 (폴더 클릭이 안되고 폴더 내에 화살표 노출)

 

A 레포가 submodule (서브모듈) 여부 확인하기

git ls-files --stage | grep 160000

 

160000은 서브모듈을 나타내는 mode입니다. 이런 결과가 나오면 서브모듈이 맞다

160000 commit_hash 0	path/to/submodule

 

 

두번째 시도 > submodule 제거

git rm --cached path/to/submodule

 

폴더를 일반 디렉토리처럼 다시 추가

git add path/to/submodule
git commit -m "Remove submodule and add as regular folder"
git push