Migrazione a un nuovo repository Git

Se hai un progetto LookML connesso a un repository Git, potresti voler spostare il relativo oggetto LookML in un nuovo repository.

Esistono due possibili approcci a questo problema, entrambi descritti nelle sezioni seguenti:

  • Reimposta la connessione Git: questa soluzione semplice conserva tutti i rami personali e condivisi in Looker ed è adatta alla maggior parte dei casi d'uso.
  • Clona il repository Git: questa soluzione avanzata è preferibile quando è importante poter vedere immediatamente la cronologia completa di tutti i rami utilizzati tramite l'UI del tuo provider Git.

Soluzione semplice: reimpostazione della connessione Git

Se reimposti la connessione Git e inserisci un nuovo URL del repository Git, il LookML verrà spostato nel repository. Tutte le modifiche salvate nei rami personali e condivisi verranno mantenute e potranno essere utilizzate in Looker. All'inizio, l'interfaccia utente del provider Git mostrerà solo il ramo master e la relativa cronologia. Gli altri rami e la relativa cronologia verranno visualizzati la volta successiva che viene eseguito un commit per il ramo. Per eseguire la migrazione a un nuovo repository utilizzando questo metodo, segui questi passaggi:

  1. Vai alla pagina Impostazioni progetto per quel progetto.
  2. Nella scheda Configurazione della pagina Impostazioni progetto, seleziona il pulsante Reimposta connessione Git.
  3. Nella pagina Configura Git, inserisci il nuovo URL Git (l'URL Git del repository in cui vuoi eseguire la migrazione) e seleziona Continua.
  4. Se utilizzi SSH per connetterti, assicurati di selezionare Reimposta chiave. In caso contrario, verrà utilizzata la stessa chiave SSH, che può causare un conflitto se entrambi i repository sono ospitati dallo stesso servizio (in questo caso, GitHub).
  5. Per le connessioni SSH, aggiungi la nuova chiave di deployment al repository Git e assicurati di concedere l'accesso in scrittura alle impostazioni della chiave di deployment del repository Git. Se utilizzi HTTPS, inserisci le credenziali di accesso per il repository Git. Per istruzioni complete sulla configurazione di Git, consulta la pagina della documentazione Configurare e testare una connessione Git.

Una volta eseguiti questi passaggi, il progetto sarà connesso al nuovo repository.

Nota: il progetto LookML non verrà visualizzato nel ramo master del nuovo repository finché non esegui il deployment del progetto in produzione. A meno che non venga eseguito il deployment in produzione, il codice LookML verrà visualizzato solo nel ramo di sviluppo nel nuovo repository dopo aver eseguito il commit del codice o dopo il push in remoto (un comando Git disponibile nel riquadro Azioni Git).

Soluzione avanzata: clonazione del repository

La soluzione semplice descritta in precedenza conserverà la cronologia di tutti i rami, ma solo il ramo master e la relativa cronologia saranno inizialmente visibili nella UI di GitHub. Dopo aver eseguito un commit su un ramo personale o condiviso in Looker, il ramo e la relativa cronologia verranno visualizzati nella UI di GitHub. È necessaria una soluzione più avanzata per visualizzare immediatamente tutti i rami e la relativa cronologia tramite la UI di GitHub.

Per prima cosa, devi avere accesso al repository originale in GitHub (o a un altro provider Git). Puoi trovare l'URL del repository in fondo alla pagina delle impostazioni del progetto o della configurazione del progetto.

Per questo esempio, supponi che git@github.com:looker/PROJECT_NAME.git sia il repository originale e git@github.com:your_organization/PROJECT_NAME.git sia il nuovo repository:

  1. Clona il repository originale sul tuo computer ed esegui il pull dei rami che vuoi conservare.

    git clone git@github.com:looker/PROJECT_NAME.git
    cd PROJECT_NAME
    git checkout master
    git pull
    
  2. Reimposta l'URL remoto del repository. Per ulteriori informazioni, consulta la documentazione di GitHub.

    git remote -v
    

    Vengono mostrati i telecomandi a cui rimanda attualmente il repository. I risultati saranno simili ai seguenti:

    origin git@github.com:looker/PROJECT_NAME.git (fetch)
    origin git@github.com:looker/PROJECT_NAME.git (push)
    
  3. Quindi, imposta il telecomando di origine sul nuovo repository:

    git remote set-url origin git@github.com:your_organization/PROJECT_NAME.git
    git push origin master
    
  4. Ora, per recuperare la cronologia e i file per i rami dev, dovrai eseguire git checkout dev_branch_name e git push origin per ogni ramo dev. Questa operazione può essere eseguita manualmente o in loop in uno script come nell'esempio seguente:

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

    Quindi esegui il push dei rami con git push --all.

  5. Reimposta la connessione Git in Looker su questo nuovo URL e configura una chiave di deployment su questo nuovo repository (consulta i passaggi nella sezione relativa alla soluzione semplice in precedenza in questa pagina).