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 für dieses Problem, die in den folgenden Abschnitten beschrieben werden:
- Git-Verbindung zurücksetzen: Bei dieser einfachen Lösung bleiben alle privaten und freigegebenen Branches in Looker erhalten. Sie 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 möchten.
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 privaten und freigegebenen Branches bleiben erhalten und können in Looker verwendet werden. In der Benutzeroberfläche Ihres Git-Anbieters wird zuerst 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 mit dieser Methode zu einem neuen Repository:
- Rufen Sie die Seite Projekteinstellungen für das Projekt auf.
- Klicken Sie auf der Seite Projekteinstellungen auf dem Tab Konfiguration auf die Schaltfläche Git-Verbindung zurücksetzen.
- Geben Sie auf der Seite Git konfigurieren die neue Git-URL (die Git-URL für das Repository, in das Sie migrieren möchten) ein und wählen Sie dann Weiter aus.
- 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).
- Fügen Sie für SSH-Verbindungen den neuen Bereitstellungsschlüssel Ihrem Git-Repository hinzu und gewähren Sie in den Einstellungen für den Bereitstellungsschlüssel 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:Die LookML Ihres Projekts wird erst dann im Master-Branch des neuen Repositories angezeigt, wenn Sie Ihr Projekt in die Produktion bereitgestellt haben. Sofern Sie nicht die Produktionsversion bereitstellen, wird Ihr LookML-Code erst im Entwicklungszweig des neuen Repositorys angezeigt, nachdem Sie den Code committet oder per Push an das Remote-Repository übertragen haben (Git-Befehl, verfügbar im Bereich Git-Aktionen).
Erweiterte Lösung: Repository klonen
Bei der einfachen Lösung, die oben beschrieben wurde, wird der Verlauf aller Branches beibehalten. In der GitHub-Benutzeroberfläche sind jedoch nur der Master-Branch und sein Verlauf zu sehen. 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.
Dazu benötigen Sie Zugriff auf das ursprüngliche Repository in GitHub (oder einem anderen Git-Anbieter). Sie finden die Repository-URL unten in den Projekteinstellungen oder auf der Seite „Projektkonfiguration“.
Angenommen, git@github.com:looker/PROJECT_NAME.git
ist das ursprüngliche Repository und git@github.com:your_organization/PROJECT_NAME.git
das neue Repository:
-
Klonen Sie das ursprüngliche Repository auf Ihren Computer und laden Sie die Zweige herunter, die Sie beibehalten möchten.
git clone git@github.com:looker/PROJECT_NAME.git cd PROJECT_NAME git checkout master git pull
-
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)
-
Legen Sie als Nächstes das Ursprungs-Remote-Repository auf das neue Repository fest:
git remote set-url origin git@github.com:your_organization/PROJECT_NAME.git git push origin master
-
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
undgit 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 Änderungen dann mit
git push --all
an die Zweige. - Setzen Sie die Git-Verbindung in Looker auf diese neue URL zurück und richten Sie einen Bereitstellungsschlüssel in diesem neuen Repository ein (siehe Schritte im Abschnitt zur einfachen Lösung oben auf dieser Seite).