Zu einem neuen Git-Repository migrieren

Wenn Sie ein LookML-Projekt haben, das mit einem Git-Repository verknüpft ist, können Sie die LookML dieses Projekts in ein neues Repository verschieben.

Es gibt zwei mögliche Ansätze zur Lösung dieses Problems, die beide in den folgenden Abschnitten beschrieben werden:

  • Git-Verbindung zurücksetzen: Diese einfache Lösung behält alle persönlichen und gemeinsamen Zweige in Looker bei und eignet sich für die meisten Anwendungsfälle.
  • Git-Repository klonen: Diese erweiterte Lösung wird bevorzugt, wenn Sie den vollständigen Verlauf aller Zweige, die jemals über die Benutzeroberfläche Ihres Git-Anbieters verwendet wurden, sofort sehen können müssen.

Einfache Lösung: Git-Verbindung zurücksetzen

Wenn Sie die Git-Verbindung zurücksetzen und eine neue Git-Repository-URL eingeben, wird die LookML in dieses Repository verschoben. Alle gespeicherten Änderungen in persönlichen und gemeinsamen Zweigen werden beibehalten und in Looker verwendet. Zuerst werden in der Benutzeroberfläche Ihres Git-Anbieters nur der Master-Branch und sein Verlauf angezeigt. Andere Branches und deren Verlauf werden angezeigt, sobald der nächste Commit für diesen Branch ausgeführt wird. So migrieren Sie zu einem neuen Repository mit dieser Methode:

  1. Rufen Sie die Seite Projekteinstellungen für das Projekt auf.
  2. Klicken Sie auf der Seite Projekteinstellungen auf dem Tab Konfiguration auf die Schaltfläche Git-Verbindung zurücksetzen.
  3. Geben Sie auf der Seite Git konfigurieren die neue Git-URL ein (die Git-URL für das Repository, in das Sie migrieren möchten) und wählen Sie dann Weiter aus.
  4. Wenn Sie eine SSH-Verbindung verwenden, wählen Sie Schlüssel zurücksetzen aus. Andernfalls wird derselbe SSH-Schlüssel verwendet, was zu einem Konflikt führen kann, wenn beide Repositories vom selben Dienst gehostet werden (in diesem Fall GitHub).
  5. Fügen Sie für SSH-Verbindungen den neuen Bereitstellungsschlüssel zu Ihrem Git-Repository hinzu und gewähren Sie in den Einstellungen des Bereitstellungsschlüssels des Git-Repositorys Schreibzugriff. Wenn Sie HTTPS verwenden, geben Sie die Anmeldedaten für Ihr Git-Repository ein. Eine vollständige Anleitung zum Einrichten von Git finden Sie auf der Dokumentationsseite Git-Verbindung einrichten und testen.

Danach ist Ihr Projekt mit dem neuen Repository verbunden.

Hinweis: Ihr Projekt-LookML-Code wird erst im Master-Branch des neuen Repositorys angezeigt, wenn Sie Ihr Projekt für die Produktion bereitstellen. Sofern Sie Ihren LookML-Code nicht in der Produktion bereitstellen, wird er erst dann in Ihrem Entwicklungszweig im neuen Repository angezeigt, nachdem Sie einen Commit für den Code durchgeführt haben. Alternativ können Sie ihn per Push in die Remote-Version übertragen (ein Git-Befehl, der im Bereich „Git Actions verfügbar ist).

Erweiterte Lösung: Repository klonen

Die zuvor beschriebene einfache Lösung behält den Verlauf aller Zweige bei, aber zuerst sind nur der Master-Branch und sein Verlauf in der GitHub-Benutzeroberfläche sichtbar. Sobald ein Commit in Looker für einen privaten oder freigegebenen Branch vorgenommen wurde, werden dieser Branch und sein Verlauf in der GitHub-Benutzeroberfläche angezeigt. Eine erweiterte Lösung ist erforderlich, um alle Branches und ihren Verlauf sofort über die GitHub-Benutzeroberfläche aufzurufen.

Zuerst müssen Sie Zugriff auf das ursprüngliche Repository in GitHub (oder einem anderen Git-Anbieter) haben. Sie finden die Repository-URL unten in den Projekteinstellungen oder auf der Seite „Projektkonfiguration“.

Nehmen wir für dieses Beispiel an, dass git@github.com:looker/PROJECT_NAME.git das ursprüngliche Repository und git@github.com:your_organization/PROJECT_NAME.git das neue Repository ist:

  1. Klonen Sie das ursprüngliche Repository auf Ihrem Computer und rufen Sie die Zweige ab, die Sie beibehalten möchten.

    git clone git@github.com:looker/PROJECT_NAME.git
    cd PROJECT_NAME
    git checkout master
    git pull
    
  2. Setzen Sie die Remote-URL des Repos zurück. Weitere Informationen finden Sie in der GitHub-Dokumentation.

    git remote -v
    

    Hier sehen Sie die Remotes, auf die Ihr Repository derzeit verweist. Die Ergebnisse sehen in etwa so aus:

    origin git@github.com:looker/PROJECT_NAME.git (fetch)
    origin git@github.com:looker/PROJECT_NAME.git (push)
    
  3. Legen Sie als Nächstes das neue Repository als Ursprungs-Remote-Repository fest:

    git remote set-url origin git@github.com:your_organization/PROJECT_NAME.git
    git push origin master
    
  4. Wenn Sie den Verlauf und die Dateien für Entwicklungszweige einbinden möchten, müssen Sie für jeden Entwicklungszweig git checkout dev_branch_name und git push origin ausführen. Das kann manuell oder in einer Schleife in einem Script erfolgen, wie im folgenden Beispiel gezeigt:

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

    Übertragen Sie die Zweige dann mit git push --all.

  5. Setzen Sie die Git-Verbindung in Looker auf diese neue URL zurück und richten Sie einen Bereitstellungsschlüssel für dieses neue Repository ein (siehe Schritte im Abschnitt zur einfachen Lösung weiter oben auf dieser Seite).