Zu einem neuen Git-Repository migrieren

Wenn Sie ein LookML-Projekt haben, das mit einem Git-Repository verbunden ist, sollten Sie die LookML dieses Projekts in ein neues Repository verschieben.

Es gibt zwei mögliche Ansätze für dieses Problem, die beide in den folgenden Abschnitten beschrieben werden:

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

Einfache Lösung: Git-Verbindung zurücksetzen

Wenn Sie die Git-Verbindung zurücksetzen und eine neue Git-Repository-URL eingeben, wird der LookML-Code in dieses Repository verschoben. Alle gespeicherten Änderungen in persönlichen und freigegebenen Zweigen werden gepflegt und können in Looker verwendet werden. Zuerst werden auf der Benutzeroberfläche Ihres Git-Anbieters nur der Master-Branch und sein Verlauf angezeigt. Andere Zweige und ihr Verlauf werden angezeigt, wenn das nächste Mal ein Commit für diesen Zweig durchgeführt wird. So migrieren Sie mit dieser Methode zu einem neuen Repository:

  1. Rufen Sie die Seite Projekteinstellungen für das Projekt auf.
  2. Wählen Sie auf dem Tab Konfiguration der Seite Projekteinstellungen die Schaltfläche Git-Verbindung zurücksetzen aus.
  3. Geben Sie auf der Seite Git konfigurieren die neue Git-URL ein, also die Git-URL für das Repository, zu dem Sie migrieren möchten, und wählen Sie dann Weiter aus.
  4. Wenn Sie die Verbindung über SSH herstellen, 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 Ihrem Git-Repository hinzu und gewähren Sie Schreibzugriff in den Einstellungen des Git-Repository-Bereitstellungsschlüssels. 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.

Nachdem Sie diese Schritte ausgeführt haben, wird Ihr Projekt mit dem neuen Repository verbunden.

Hinweis: Ihr Projekt-LookML wird erst dann im Master-Branch des neuen Repositorys angezeigt, wenn Sie das Projekt für die Produktion bereitstellen. Sofern Sie den LookML-Code nicht für die Produktion bereitstellen, wird er nur in Ihrem Entwicklungszweig im neuen Repository angezeigt, nachdem Sie den Code per Commit übertragen oder per Push an Remote übertragen haben (ein Git-Befehl, der im Bereich Git-Aktionen verfügbar ist).

Erweiterte Lösung: Repository klonen

In der zuvor beschriebenen einfachen Lösung wird der Verlauf aller Zweige beibehalten, aber zuerst sind in der GitHub-Benutzeroberfläche nur der Master-Branch und sein Verlauf sichtbar. Sobald ein Commit für einen persönlichen oder freigegebenen Zweig in Looker durchgeführt wurde, werden dieser Zweig und sein Verlauf in der GitHub-Benutzeroberfläche angezeigt. Es ist eine komplexere Lösung erforderlich, um alle Zweige und ihren Verlauf sofort über die GitHub-UI anzusehen.

Zuerst benötigen Sie Zugriff auf das ursprüngliche Repository in GitHub (oder einem anderen Git-Anbieter). Die Repository-URL finden Sie unten in den Projekteinstellungen oder auf der Projektkonfigurationsseite.

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. Remote-URL des Repositorys zurücksetzen. Weitere Informationen finden Sie in der GitHub-Dokumentation.

    git remote -v
    

    Daraufhin werden die Fernbedienungen angezeigt, 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 die ursprüngliche Remote-Instanz auf das neue Repository fest:

    git remote set-url origin git@github.com:your_organization/PROJECT_NAME.git
    git push origin master
    
  4. Wenn Sie nun 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. Dies kann manuell oder in einer Schleife in einem Skript 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 dann die Zweige mit git push --all.

  5. Setzen Sie die Git-Verbindung in Looker auf diese neue URL zurück und richten Sie einen Bereitstellungsschlüssel auf diesem neuen Repository ein. Weitere Informationen dazu finden Sie weiter oben auf dieser Seite in den Schritten im Abschnitt zur einfachen Lösung.