Bermigrasi ke repositori Git baru

Jika Anda memiliki project LookML yang terhubung ke repositori Git, Anda mungkin ingin memindahkan LookML project tersebut ke repositori baru.

Ada dua kemungkinan pendekatan untuk masalah ini, yang keduanya dijelaskan di bagian berikut:

  • Mereset koneksi Git: Solusi sederhana ini mempertahankan semua cabang pribadi dan bersama di Looker dan cocok untuk sebagian besar kasus penggunaan.
  • Meng-clone repositori Git: Solusi lanjutan ini lebih disarankan jika Anda harus dapat langsung melihat histori lengkap semua cabang yang pernah digunakan melalui UI penyedia Git Anda.

Solusi sederhana: Mereset koneksi Git

Jika Anda mereset koneksi Git dan memasukkan URL repositori Git baru, LookML akan dipindahkan ke repositori tersebut. Semua perubahan yang disimpan di cabang pribadi dan bersama akan dikelola dan digunakan di Looker. Pada awalnya, UI penyedia Git Anda hanya akan menampilkan cabang master dan historinya. Cabang lain dan historinya akan muncul saat commit dibuat untuk cabang tersebut di lain waktu. Untuk bermigrasi ke repositori baru menggunakan metode ini, ikuti langkah-langkah berikut:

  1. Buka halaman Project Settings untuk project tersebut.
  2. Pada tab Configuration di halaman Project Settings, pilih tombol Reset Git Connection.
  3. Di halaman Configure Git, masukkan URL Git yang baru (URL Git untuk repositori yang ingin Anda migrasikan), lalu pilih Continue.
  4. Jika Anda menggunakan SSH untuk terhubung, pastikan untuk memilih Reset Kunci. Jika tidak, kunci SSH yang sama akan digunakan, yang dapat menyebabkan konflik jika kedua repositori dihosting oleh layanan yang sama (dalam hal ini, GitHub).
  5. Untuk koneksi SSH, tambahkan kunci deploy baru ke repo Git Anda, dan pastikan untuk memberikan akses tulis di setelan kunci deploy repo Git. Jika Anda menggunakan HTTPS, masukkan kredensial login untuk repo Git Anda. Lihat halaman dokumentasi Menyiapkan dan menguji koneksi Git untuk mengetahui petunjuk lengkap tentang penyiapan Git.

Setelah Anda mengikuti langkah-langkah ini, project Anda akan terhubung ke repositori baru.

Catatan: LookML project Anda tidak akan muncul di cabang master repositori baru sebelum Anda men-deploy project ke produksi. Kecuali Anda men-deploy ke produksi, kode LookML hanya akan muncul di cabang pengembangan di repositori baru setelah Anda meng-commit kode, atau mendorongnya ke jarak jauh (perintah Git yang tersedia di panel Tindakan Git).

Solusi lanjutan: Meng-clone repositori

Solusi sederhana yang dijelaskan sebelumnya akan mempertahankan histori semua cabang, tetapi hanya cabang master dan historinya yang akan terlihat di UI GitHub pada awalnya. Setelah commit dibuat pada cabang pribadi atau bersama di Looker, cabang tersebut dan historinya akan muncul di UI GitHub. Solusi yang lebih canggih diperlukan untuk segera melihat semua cabang dan historinya melalui UI GitHub.

Pertama, Anda harus memiliki akses ke repositori asli di GitHub (atau penyedia Git lainnya). Anda dapat menemukan URL repositori di bagian bawah setelan project atau halaman konfigurasi project.

Untuk contoh ini, misalkan git@github.com:looker/PROJECT_NAME.git adalah repo asli dan git@github.com:your_organization/PROJECT_NAME.git adalah repo baru:

  1. Clone repositori asli ke komputer Anda, dan tarik cabang yang ingin Anda pertahankan.

    git clone git@github.com:looker/PROJECT_NAME.git
    cd PROJECT_NAME
    git checkout master
    git pull
    
  2. Reset URL jarak jauh repo. Lihat dokumentasi GitHub untuk informasi selengkapnya.

    git remote -v
    

    Ini menunjukkan remote yang saat ini ditunjuk repo Anda. Hasilnya akan terlihat seperti ini:

    origin git@github.com:looker/PROJECT_NAME.git (fetch)
    origin git@github.com:looker/PROJECT_NAME.git (push)
    
  3. Selanjutnya, tetapkan remote origin ke repo baru:

    git remote set-url origin git@github.com:your_organization/PROJECT_NAME.git
    git push origin master
    
  4. Sekarang, untuk menghadirkan histori dan file bagi cabang dev, Anda harus melakukan git checkout dev_branch_name dan git push origin untuk setiap cabang dev. Hal ini dapat dilakukan secara manual atau secara berulang dalam skrip seperti yang ditunjukkan pada contoh berikut:

    #!/bin/bash
    for branch in $(git branch --all | grep '^\s*remotes' | egrep --invert-match '(:?HEAD|master)$'); do
    git branch --track "${branch##*/}" "$branch"
    done
    

    Kemudian, kirim cabang dengan git push --all.

  5. Reset koneksi Git di Looker ke URL baru ini dan siapkan kunci deployment di repo baru ini (lihat langkah-langkah di bagian solusi sederhana di awal halaman ini).