하위 모듈

전체보기

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

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

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

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

If you add private repositories as submodules in your branches, you need to configure a deploy key in your Odoo.sh project settings and in your repository settings. Otherwise Odoo.sh won’t be allowed to download them. The procedure is detailed in the chapter Settings > Submodules.

하위 모듈 추가하기

Odoo.sh 사용 (기본)

경고

For now it is not possible to add private repositories with this method. You can nevertheless do so with 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>`_ 에 있는 내용으로 진행합니다.

모듈 무시하기

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