Question

Looker Git Repository 移行手順

  • 12 December 2019
  • 0 replies
  • 272 views

Userlevel 4

本記事では、既にGitリポジトリに接続しているLookMLプロジェクトを、別のリポジトリに移行したい場合の手順を紹介します。

方法としては、Masterブランチの履歴を保持するパターン(シンプル)と、すべてのブランチを保持するパターン(ちょっと大変)の2つがあります。



本記事の内容は、Help Centerに記載の内容を翻訳したものとなります。最新の情報については、Help Centerの記事を参照してください。



Simple Solution: Masterブランチの履歴を保持


Git connectionをリセットし、新しいGit URLを登録すると、LookMLは新しいリポジトリへ移行されます。以下の手順を参照ください。




  1. 該当プロジェクトのプロジェクト設定ページへ移動します。




  2. プロジェクト設定ページにて、Reset Git Connection ボタンをクリックします




  3. Gitの設定画面において、新しいGit URL(移行先として利用したいGit URL)を入力し、Continue ボタンをクリックします。




  4. 接続にSSHを利用している場合は、 Reset Key ボタンを確実にクリックして下さい。そうでない場合、同じSSHキーが利用され、両方のリポジトリが同じサービス(i.e., Github)で利用されている場合、コンフリクトが発生する可能性があります。




  5. SSHコネクションにおいて、リポジトリに新しいdeploy keywoを追加し、Write Accessを付与するのを忘れないようにしてください。HTTPSを利用している場合、Gitリポジトリに対するログイン・クレデンシャルを入力します。(Gitの設定に関する詳細は このページを参照してください)。.




以上で、プロジェクトは新しいリポジトリに接続されます。


Advanced Solution: すべてのブランチの保持


上記の手順では、マスターブランチと、ログインして操作した開発者のブランチの履歴のみが保持されます。すべてのブランチとその履歴を保存するには、より複雑なプロセスが必要です。


最初に、自身でリポジトリを保有する必要があります。プロジェクト設定ページにの下部にURLが記載されています。URLがlloker/始まる場合、Lookerがホスティングしているものになります。弊社にて、移行が完了するまでの間のみ、弊社リポジトリへのアクセス権を付与することが可能です。処理を始めるために、こちらから弊社へリポジトリのURLとGithubのユーザ名をご連絡ください。


次の例の場合、git@github.com:llooker/PROJECT_NAME.git が現在のリポジトリで、 git@github.com:your_organization/PROJECT_NAME.git が新しいリポジトリだとします:



  1. 現在のリポジトリをローカルマシン上でクローンしていただき、保持したいブランチすべてをPULLしてください。



git clone git@github.com:llooker/PROJECT_NAME.git

cd PROJECT_NAME

git checkout master

git pull




  1. リポジトリのRemote URLをリセットします(詳細はこちらを参照)。



git remote -v



これにより、リポジトリが現在指しているリモートが表示されます。 結果は次のようになります。以下のような結果になります:



origin git@github.com:llooker/PROJECT_NAME.git (fetch)

origin git@github.com:llooker/PROJECT_NAME.git (push)




  1. 現在のリポジトリを新しいリポジトリへ変更します



git remote set-url origin git@github.com:your_organization/PROJECT_NAME.git

git push origin master




  1. 履歴とファイルを開発ブランチへ移行するため、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




  1. 新しいURLへLooker上でgit接続をリセットし、新しいリポジトリ上へdeploy keyを設定します。(上記、simple solution sectionを参照ください)。


0 replies

Be the first to reply!

Reply