하위 모듈¶
전체보기¶
Git 하위 모듈 을 사용하면 전체 코드를 복사하여 붙여넣을 필요 없이 다른 Git 프로젝트를 내 코드에 통합할 수 있습니다. .
실제로 사용자 지정 모듈은 다른 저장소의 모듈에 의존할 수 있습니다. Odoo의 경우에는 이 기능을 사용하면 다른 Git 저장소의 모듈을 저장소 브랜치에 추가할 수 있습니다. 하위 모듈을 통해 브랜치에 이와 같은 종속성을 추가하면 자체 저장소를 복제하는 동시에 하위 모듈로 추가된 저장소를 복제할 수 있으므로 코드 및 서버 배포를 더 쉽게 할 수 있습니다.
또한 하위 모듈로 추가된 저장소의 브랜치를 선택할 수 있으며 원하는 버전을 제어할 수 있습니다. 하위 모듈을 특정 버전에 고정할지 여부 및 최신 버전으로 업데이트하는 시기는 사용자가 정할 수 있습니다.
Odoo.sh에서 하위 모듈을 통해 다른 저장소에서 사용할 수 있는 모듈을 사용하고 의존할 수 있게 됩니다. 플랫폼에서 브랜치의 하위 모듈을 통해 모듈 추가를 감지하고 데이터베이스에 설치할 수 있도록 자동으로 애드온 경로에 추가합니다.
브랜치에 비공개 저장소를 하위 모듈로 추가하는 경우에는 Odoo.sh 프로젝트 설정 및 리포지토리 설정 메뉴에 배포 키를 설정해야 합니다. 그렇지 않으면 Odoo.sh에서 다운로드를 할 수 없습니다. 해당 절차는 설정 > 하위 모듈 챕터에서 자세히 설명되어 있습니다.
하위 모듈 추가하기¶
Odoo.sh 사용 (기본)¶
경고
현재로서는 이 방법으로는 비공개 저장소를 추가할 수 없습니다. 다만, Git 을 통할 경우에는 가능합니다.
Odoo.sh의 프로젝트의 브랜치 보기에서 하위 모듈을 추가하려는 브랜치를 선택합니다.
오른쪽 상단에 있는 하위 모듈 버튼을 클릭한 다음 실행 을 클릭합니다.
대화 상자에서 양식이 표시됩니다. 다음과 같이 입력합니다.
저장소 URL: 저장소의 SSH URL입니다.
브랜치: 사용하려는 브랜치입니다..
경로: 이 하위 모듈을 추가하려는 브랜치의 폴더입니다.
Github에서는 저장소에 있는 복제 또는 다운로드 버튼을 사용하여 저장소 URL을 확보할 수 있습니다. 반드시 SSH를 사용 하세요.
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>`_ 에 있는 내용으로 진행합니다.
모듈 무시하기¶
추가하려는 저장소에 많은 모듈이 포함되어 있는 경우, 자동으로 설치되는 모듈 일부를 무시할 수 있습니다. 설치되지 않게 하려면 하위 모듈 폴더 앞에 .
를 붙이면 됩니다. 플랫폼은 이 폴더를 무시하며 다른 폴더에서 해당 모듈에 대한 링크 심볼을 생성하여 모듈을 직접 선택할 수 있습니다.