ABOUT ME

Today
Yesterday
Total
  • Submodule, Nestued Repository
    공부/Git 2020. 7. 26. 21:13

    웹멘토링 자료를 업로드하는 과정에서 정말 의도치 않게 git의 서브모듈 기능을 적용해버렸다.


    본래 서브모듈은 규모가 어느 정도 되는 프로젝트에서 전체 프로그램을 기능별로 모듈화해서 작성하고 각각 따로 버전관리를 하고자 하는 경우가 사용한다. 모듈별로 따로 버전관리를 할 수 있다면, 재사용과 이식성 면에서도 크게 도움이 되기 때문이다.


    **내가 겪은 문제는 다음과 같다.

    webBasic_memo 디렉토리를 다른 서브모듈로 관리하고 그외 상위 디렉토리는 기존 master brach로 관리하게 설정해버렸다.


    그래서 깃헙에 올렸을 때 webBasic_memo가 빈 디렉토리로 표시되었다.

    아래처럼 git 원격저장소 기록?을 다 지우도록 했는데 강제 제거를 하라고 요청받았다.

    강제제거 >_^

     

    기왕 이렇게 된 거 submodule에 대해서 좀 더 알아보자!

    submodule commit

    Slave -> Master
    반드시 이 순서로, 두 번 커밋...!

    submodule delete

    해당 모듈을 deinit

    git submodule deinit -f <저장소>

    .git/modules 해당 폴더 삭제

    rm -rf .git/modules/<저장소>

    git에서 해당 폴더 제거

    git rm -f <저장소>

    아래 명령어로 서브모듈 디렉토리를 생성한다.

    git submodule add <서브모듈 원격 저장소 주소> <서브모듈 루트 디렉토리 경로>

    서브모듈 업데이트

    git submodule init
    git submodule update
    git clone --recursive <원격 Repository 주소>
Designed by Tistory.