하위 모듈

전체보기

Git 하위 모듈 을 사용하면 전체 코드를 복사하여 붙여넣을 필요 없이 다른 Git 프로젝트를 내 코드에 통합할 수 있습니다. .

실제로 사용자 지정 모듈은 다른 저장소의 모듈에 의존할 수 있습니다. Odoo의 경우에는 이 기능을 사용하면 다른 Git 저장소의 모듈을 저장소 브랜치에 추가할 수 있습니다. 하위 모듈을 통해 브랜치에 이와 같은 종속성을 추가하면 자체 저장소를 복제하는 동시에 하위 모듈로 추가된 저장소를 복제할 수 있으므로 코드 및 서버 배포를 더 쉽게 할 수 있습니다.

또한 하위 모듈로 추가된 저장소의 브랜치를 선택할 수 있으며 원하는 버전을 제어할 수 있습니다. 하위 모듈을 특정 버전에 고정할지 여부 및 최신 버전으로 업데이트하는 시기는 사용자가 정할 수 있습니다.

Odoo.sh에서 하위 모듈을 통해 다른 저장소에서 사용할 수 있는 모듈을 사용하고 의존할 수 있게 됩니다. 플랫폼에서 브랜치의 하위 모듈을 통해 모듈 추가를 감지하고 데이터베이스에 설치할 수 있도록 자동으로 애드온 경로에 추가합니다.

브랜치에 비공개 저장소를 하위 모듈로 추가하는 경우에는 Odoo.sh 프로젝트 설정 및 리포지토리 설정 메뉴에 배포 키를 설정해야 합니다. 그렇지 않으면 Odoo.sh에서 다운로드를 할 수 없습니다. 해당 절차는 설정 > 하위 모듈 챕터에서 자세히 설명되어 있습니다.

하위 모듈 추가하기

Odoo.sh 사용 (기본)

경고

현재로서는 이 방법으로는 비공개 저장소를 추가할 수 없습니다. 다만, Git 을 통할 경우에는 가능합니다.

Odoo.sh의 프로젝트의 브랜치 보기에서 하위 모듈을 추가하려는 브랜치를 선택합니다.

오른쪽 상단에 있는 하위 모듈 버튼을 클릭한 다음 실행 을 클릭합니다.

../../../_images/advanced-submodules-button.png

대화 상자에서 양식이 표시됩니다. 다음과 같이 입력합니다.

  • 저장소 URL: 저장소의 SSH URL입니다.

  • 브랜치: 사용하려는 브랜치입니다..

  • 경로: 이 하위 모듈을 추가하려는 브랜치의 폴더입니다.

../../../_images/advanced-submodules-dialog.png

Github에서는 저장소에 있는 복제 또는 다운로드 버튼을 사용하여 저장소 URL을 확보할 수 있습니다. 반드시 SSH를 사용 하세요.

../../../_images/advanced-submodules-github-sshurl.png

Git 사용 (고급)

터미널 내 Git 저장소가 복제되어 있는 폴더에서 하위 모듈을 추가하려는 브랜치를 체크아웃합니다.

$ git checkout <branch>

그런 다음 아래 명령어를 사용하여 하위 모듈을 추가합니다.

$ git submodule add -b <branch> <git@yourprovider.com>:<username/repository.git> <path>

대체

  • <git@yourprovider.com>: <username/repository.git> 를 이용하여 하위 모듈로 추가하려는 저장소의 SSH URL로,

  • <branch> 위 저장소에서 사용하려는 브랜치별로,

  • <path> 이 하위 모듈을 추가하려는 폴더별로.

변경 사항을 커밋 및 푸시합니다.

$ git commit -a && git push -u <remote> <branch>

대체

  • <remote> 변경 사항을 푸시하려는 저장소를 기준으로 합니다. 표준 Git 설정의 경우 이는 원 위치 입니다.

  • <branch> 변경 사항을 푸시하려는 브랜치입니다. 첫 번째 단계에서 git 체크아웃 을 실행한 브랜치일 가능성이 높습니다.

Git 하위 모듈에 대한 자세한 내용은 git-scm.com 문서 를 참조하세요. 예를 들어, 하위 모듈을 최신 버전으로 업데이트하려면 ‘업스트림 변경 사항 가져오기 <https://git-scm.com/book/en/v2/Git-Tools-Submodules#_pulling_in_upstream_changes_from_the_submodule_remote>`_ 에 있는 내용으로 진행합니다.

모듈 무시하기

추가하려는 저장소에 많은 모듈이 포함되어 있는 경우, 자동으로 설치되는 모듈 일부를 무시할 수 있습니다. 설치되지 않게 하려면 하위 모듈 폴더 앞에 . 를 붙이면 됩니다. 플랫폼은 이 폴더를 무시하며 다른 폴더에서 해당 모듈에 대한 링크 심볼을 생성하여 모듈을 직접 선택할 수 있습니다.