Git 저장소에 연결된 LookML 프로젝트가 있는 경우, 프로젝트의 LookML을 새 저장소로 이동해야 할 수 있습니다.
이 문제에 대한 가능한 두 가지 접근 방식은 모두 다음 섹션에서 설명합니다.
- Git 연결 재설정: 이 간단한 솔루션은 Looker의 모든 개인 및 공유 브랜치를 보존하며 대부분의 사용 사례에 적합합니다.
- Git 저장소 클론: 이 고급 솔루션은 Git 제공업체의 UI를 통해 사용된 모든 브랜치의 전체 기록을 즉시 볼 수 있어야 하는 경우에 적합합니다.
간단한 솔루션: Git 연결 재설정
Git 연결을 재설정하고 새 Git 저장소 URL을 입력하면 LookML이 해당 저장소로 이동합니다. 개인 및 공유 브랜치에 저장된 모든 변경사항은 Looker에서 유지관리되고 사용 가능합니다. 처음에는 Git 제공업체의 UI에 마스터 브랜치와 기록만 표시됩니다. 다른 브랜치 및 기록은 해당 브랜치의 다음 커밋 시 표시됩니다. 이 방법을 사용하여 새 저장소로 마이그레이션하려면 다음 단계를 따르세요.
- 해당 프로젝트의 프로젝트 설정 페이지로 이동합니다.
- 프로젝트 설정 페이지의 구성 탭에서 Git 연결 재설정 버튼을 선택합니다.
- Git 구성 페이지에서 새 Git URL(마이그레이션할 저장소의 Git URL)을 입력하고 계속을 선택합니다.
- SSH를 통해 연결하는 경우 키 재설정을 선택해야 합니다. 그렇지 않으면 동일한 SSH 키가 사용되므로 두 저장소가 동일한 서비스(이 경우 GitHub)에서 호스팅되는 경우 충돌이 발생할 수 있습니다.
- SSH 연결의 경우 Git 저장소에 새 배포 키를 추가하고 Git 저장소 배포 키 설정에서 쓰기 액세스 권한을 부여해야 합니다. HTTPS를 사용하는 경우 Git 저장소의 로그인 사용자 인증 정보를 입력합니다. Git 설정에 대한 자세한 안내는 Git 연결 설정 및 테스트 문서 페이지를 참조하세요.
이 단계를 완료하면 프로젝트가 새 저장소에 연결됩니다.
참고: 프로젝트를 프로덕션에 배포할 때까지 프로젝트 LookML이 새 저장소의 마스터 브랜치에 표시되지 않습니다. 프로덕션에 배포하지 않는 한 LookML 코드는 코드를 커밋하거나 Git 작업 패널에서 사용할 수 있는 원격 Git 명령어로 푸시한 후 새 저장소의 개발 브랜치에만 표시됩니다.
고급 솔루션: 저장소 클론
앞에서 설명한 간단한 솔루션에서는 모든 브랜치의 기록을 보존하지만 처음에는 마스터 브랜치와 기록만 GitHub UI에 표시됩니다. Looker의 개인 또는 공유 브랜치에서 커밋이 수행되면 해당 브랜치와 기록이 GitHub UI에 나타납니다. GitHub UI를 통해 모든 브랜치 및 기록을 즉시 보려면 고급 솔루션이 필요합니다.
먼저 GitHub(또는 기타 Git 제공업체)에서 원본 저장소에 액세스할 수 있어야 합니다. 저장소 URL은 프로젝트 설정 또는 프로젝트 구성 페이지 하단에서 찾을 수 있습니다.
이 예시에서는 git@github.com:looker/PROJECT_NAME.git
이 원래 저장소이고 git@github.com:your_organization/PROJECT_NAME.git
이 새 저장소라고 가정합니다.
-
원래 저장소를 컴퓨터에 클론하고 보존할 브랜치를 가져오기합니다.
git clone git@github.com:looker/PROJECT_NAME.git cd PROJECT_NAME git checkout master git pull
-
저장소의 원격 URL을 재설정합니다. 자세한 내용은 GitHub 문서를 참조하세요.
git remote -v
그러면 저장소가 현재 가리키는 원격 저장소가 표시됩니다. 결과는 다음과 같습니다.
origin git@github.com:looker/PROJECT_NAME.git (fetch) origin git@github.com:looker/PROJECT_NAME.git (push)
-
그런 다음 원격 원본을 새 저장소로 설정합니다.
git remote set-url origin git@github.com:your_organization/PROJECT_NAME.git git push origin master
-
이제 개발 브랜치의 기록과 파일을 가져오려면 각 개발 브랜치에
git checkout dev_branch_name
및git push origin
를 수행해야 합니다. 이 작업은 수동으로 실행하거나 다음 예시와 같이 스크립트에서 반복할 수 있습니다.#!/bin/bash for branch in $(git branch --all | grep '^\s*remotes' | egrep --invert-match '(:?HEAD|master)$'); do git branch --track "${branch##*/}" "$branch" done
그런 다음
git push --all
를 사용하여 브랜치를 푸시합니다. - Looker의 Git 연결을 이 새로운 URL로 재설정하고 이 새로운 저장소에 배포 키를 설정합니다(이 페이지 앞부분의 간단한 솔루션 섹션 단계 참조).