本記事では、既にGitリポジトリに接続しているLookMLプロジェクトを、別のリポジトリに移行したい場合の手順を紹介します。
方法としては、Masterブランチの履歴を保持するパターン(シンプル)と、すべてのブランチを保持するパターン(ちょっと大変)の2つがあります。
本記事の内容は、Help Centerに記載の内容を翻訳したものとなります。最新の情報については、Help Centerの記事を参照してください。
Git connectionをリセットし、新しいGit URLを登録すると、LookMLは新しいリポジトリへ移行されます。以下の手順を参照ください。
該当プロジェクトのプロジェクト設定ページへ移動します。
プロジェクト設定ページにて、Reset Git Connection ボタンをクリックします
Gitの設定画面において、新しいGit URL(移行先として利用したいGit URL)を入力し、Continue ボタンをクリックします。
接続にSSHを利用している場合は、 Reset Key ボタンを確実にクリックして下さい。そうでない場合、同じSSHキーが利用され、両方のリポジトリが同じサービス(i.e., Github)で利用されている場合、コンフリクトが発生する可能性があります。
SSHコネクションにおいて、リポジトリに新しいdeploy keywoを追加し、Write Accessを付与するのを忘れないようにしてください。HTTPSを利用している場合、Gitリポジトリに対するログイン・クレデンシャルを入力します。(Gitの設定に関する詳細は このページを参照してください)。.
以上で、プロジェクトは新しいリポジトリに接続されます。
上記の手順では、マスターブランチと、ログインして操作した開発者のブランチの履歴のみが保持されます。すべてのブランチとその履歴を保存するには、より複雑なプロセスが必要です。
最初に、自身でリポジトリを保有する必要があります。プロジェクト設定ページにの下部にURLが記載されています。URLがlloker/始まる場合、Lookerがホスティングしているものになります。弊社にて、移行が完了するまでの間のみ、弊社リポジトリへのアクセス権を付与することが可能です。処理を始めるために、こちらから弊社へリポジトリのURLとGithubのユーザ名をご連絡ください。
次の例の場合、git@github.com:llooker/PROJECT_NAME.git
が現在のリポジトリで、 git@github.com:your_organization/PROJECT_NAME.git
が新しいリポジトリだとします:
git clone git@github.com:llooker/PROJECT_NAME.git
cd PROJECT_NAME
git checkout master
git pull
git remote -v
これにより、リポジトリが現在指しているリモートが表示されます。 結果は次のようになります。以下のような結果になります:
origin git@github.com:llooker/PROJECT_NAME.git (fetch)
origin git@github.com:llooker/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
を行い、それぞれのブランチをPushします。これは手動で実行するか、以下のようなスクリプトを作成して実行することが可能です:#!/bin/bash
for branch in $(git branch --all | grep '^\sremotes’ | egrep --invert-match ‘(:?HEAD|master)$’); do
git branch --track "${branch##/}" “$branch”
done