Freigeben über


Git-Versionskontrolle für Notebooks (Legacy)

Wichtig

Die Unterstützung für die Git-Integration von Legacy-Notebooks wurde am 31. Januar 2024 eingestellt. Databricks empfiehlt die Verwendung von Databricks Git Ordnern, um Ihre Arbeit in Databricks mit einem Git-Remoterepository zu synchronisieren.

In diesem Artikel erfahren Sie, wie Sie die Git-Versionskontrolle für Notebooks (Legacyfeature) einrichten. Sie können auch die Databricks CLI oder die Arbeitsbereichs-API verwenden, um Notebooks zu importieren und zu exportieren und um Git-Vorgänge in Ihrer lokalen Entwicklungsumgebung durchzuführen.

Aktivieren und Deaktivieren der Git-Versionsverwaltung

Die Versionskontrolle ist standardmäßig aktiviert. So schalten Sie diese Einstellung um

  1. Gehen Sie zu Einstellungen>Arbeitsbereichseinstellungen.
  2. Deaktivieren Sie im Abschnitt Erweitert die Umschaltfläche Git-Versionsverwaltung für Notebooks.

Konfigurieren der Versionskontrolle

Für die Konfiguration der Versionskontrolle erstellen Sie in Ihrem Git-Anbieter Anmeldeinformationen für den Zugriff und fügen sie Azure Databricks hinzu.

Arbeiten mit Notebookversionen

Im Verlaufsbereich arbeiten Sie mit Notebookversionen. Öffnen Sie den Verlaufsbereich, indem Sie auf der rechten Randleiste Symbol für Versionsverlauf auswählen.

Versionsverlauf

Hinweis

Bei geöffnetem Verlaufsbereich kann ein Notebook nicht geändert werden.

  1. Wählen Sie auf der rechten Randleiste Symbol für Versionsverlauf aus. Auf der Git-Statusleiste wird der Status Git: Nicht verknüpft angezeigt.

    Git-Statusleiste

  2. Klicken Sie auf Git: Nicht verknüpft.

    Es wird das Dialogfeld „Git-Einstellungen“ angezeigt. Wenn Sie Ihr Notebook zum ersten Mal öffnen, lautet der Status Verknüpfung aufheben, da sich das Notebook nicht in GitHub befindet.

    Git-Einstellungen: neues Notebook verknüpfen

  3. Aktivieren Sie für „Status“ die Option Verknüpfen.

  4. Fügen Sie im Feld „Link“ die URL des GitHub-Repositorys ein.

  5. Klicken Sie auf die Dropdownliste Verzweigung. Wählen Sie eine Verzweigung aus, oder geben Sie den Namen einer neuen Verzweigung ein.

  6. Geben Sie im Feld „Pfad im Git-Ordner“ an, wo Ihre Datei im Repository gespeichert werden soll.

    Für Python-Notebooks lautet die vorgeschlagene Standarddateierweiterung .py. Wenn Sie .ipynb verwenden, wird Ihr Notebook im iPython-Notebookformat gespeichert. Ist die Datei bereits in GitHub vorhanden, können Sie die URL der Datei direkt kopieren und einfügen.

  7. Klicken Sie auf Speichern, um die Verknüpfung Ihres Notebooks abzuschließen. Ist die Datei noch nicht vorhanden, wird eine Eingabeaufforderung mit der Option Diese Datei in Ihrem GitHub-Repository speichern angezeigt.

  8. Geben Sie eine Nachricht ein, und klicken Sie auf Speichern.

Speichern eines Notebooks in GitHub

Während die Änderungen, die Sie an Ihrem Notebook vornehmen, automatisch im Azure Databricks-Versionsverlauf gespeichert werden, werden die Änderungen in GitHub nicht automatisch beibehalten.

  1. Wählen Sie auf der rechten Randleiste Symbol für Versionsverlauf aus, um den Verlaufsbereich zu öffnen.

    Verlaufsbereich: jetzt speichern

  2. Klicken Sie auf Jetzt speichern, um Ihr Notebook in GitHub zu speichern. Das Dialogfeld „Notebookversion speichern“ wird angezeigt.

  3. Optional können Sie eine Beschreibung der Änderung eingeben.

  4. Stellen Sie sicher, dass die Option Commit auch in Git durchführen aktiviert ist.

    Version speichern

  5. Klicken Sie auf Speichern.

Zurücksetzen oder Aktualisieren eines Notebooks auf eine GitHub-Version

Sobald Sie ein Notebook verknüpft haben, synchronisiert Azure Databricks Ihren Verlauf immer dann mit Git, wenn Sie den Verlaufsbereich öffnen. Versionen, die mit Git synchronisiert werden, enthalten einen Commithash als Teil des Eintrags.

  1. Wählen Sie auf der rechten Randleiste Symbol für Versionsverlauf aus, um den Verlaufsbereich zu öffnen.

    Verlaufsbereich

  2. Wählen Sie im Verlaufsbereich einen Eintrag aus. Azure Databricks zeigt diese Version an.

  3. Klicken Sie auf Diese Version wiederherstellen.

  4. Klicken Sie auf Bestätigen, um zu bestätigen, dass Sie diese Version wiederherstellen möchten.

  1. Wählen Sie auf der rechten Randleiste Symbol für Versionsverlauf aus, um den Verlaufsbereich zu öffnen.

  2. Auf der Git-Statusleiste wird der Status Git: Synchronisiert angezeigt.

    Verlaufsbereich: Image jetzt speichern

  3. Klicken Sie auf Git: Synchronisiert.

    Git-Einstellungen: Verknüpfung des Notebooks aufheben

  4. Klicken Sie im Dialogfeld „Git-Einstellungen“ auf Verknüpfung aufheben.

  5. Klicken Sie auf Speichern.

  6. Klicken Sie auf Bestätigen, um zu bestätigen, dass Sie die Verknüpfung des Notebooks mit der Versionskontrolle aufheben möchten.

Verwenden von Verzweigungen

Sie können in jeder Verzweigung Ihres Repositorys arbeiten und neue Verzweigungen innerhalb von Azure Databricks erstellen.

Erstellen einer Verzweigung

  1. Wählen Sie auf der rechten Randleiste Symbol für Versionsverlauf aus, um den Verlaufsbereich zu öffnen.

  2. Klicken Sie auf die Git-Statusleiste, um den GitHub-Bereich zu öffnen.

  3. Klicken Sie auf die Dropdownliste Verzweigung.

  4. Geben Sie einen Namen für die Verzweigung ein.

    Verzweigung erstellen

  5. Klicken Sie am unteren Ende der Dropdownliste auf die Option Verzweigung erstellen. Es wird die übergeordnete Verzweigung angegeben. Die neue Verzweigung wird immer ausgehend von der aktuell ausgewählten Verzweigung erstellt.

Erstellen eines Pull Requests

  1. Wählen Sie auf der rechten Randleiste Symbol für Versionsverlauf aus, um den Verlaufsbereich zu öffnen.

  2. Klicken Sie auf die Git-Statusleiste, um den GitHub-Bereich zu öffnen.

    Git-Einstellungen: Pull Request erstellen

  3. Klicken Sie auf PR erstellen. GitHub wird in einer Pull Request-Seite für den Branch geöffnet.

Ausführen eines Rebasevorgangs für eine Verzweigung

Sie können für Ihre Verzweigung innerhalb von Azure Databricks auch ein Rebase ausführen. Der Link Rebase wird angezeigt, wenn neue Commits in der übergeordneten Verzweigung verfügbar sind. Ein Rebase wird nur auf der Standardverzweigung des übergeordneten Repositorys unterstützt.

Rebase ausführen

Angenommen, Sie arbeiten in der Verzweigung databricks/reference-apps. Sie erstellen eine Verzweigung in Ihr eigenes Konto (z. B. brkyvz), und beginnen mit der Arbeit in einer Verzweigung mit dem Namen my-branch. Bei einem neuen Update für databricks:master wird nun die Schaltfläche Rebase angezeigt, über die Sie die Änderungen per Pull in Ihre Verzweigung brkyvz:my-branch übertragen können.

In Azure Databricks funktioniert ein Rebase etwas anders. Nehmen Sie als Beispiel folgende Verzweigungsstruktur:

Verzweigungsstruktur vor dem Rebasevorgang

Nach dem Rebasevorgang sieht die Branchstruktur folgendermaßen aus:

Verzweigungsstruktur nach dem Rebasevorgang

Der Unterschied besteht darin, dass die Commits C5 und C6 nicht für C4 gelten. Sie werden in Ihrem Notebook als lokale Änderungen angezeigt. Mergekonflikte werden wie folgt gezeigt:

Mergekonflikt

Über die Schaltfläche Jetzt speichern können Sie einen erneuten Commit zu GitHub ausführen.

Was geschieht, wenn ein anderer Benutzer eine Verzweigung ausgehend von meiner Verzweigung erstellt hat, und ich führe für meine Verzweigung ein Rebase aus?

Wurde ausgehend von Ihrer Verzweigung (z. B. branch-a) eine weitere Verzweigung (branch-b) erstellt, treten bei einem Rebase keine Probleme auf. Sobald der andere Benutzer auch ein Rebase für branch-b ausführt, funktioniert alles reibungslos. Für diese Situationen hat sich die Nutzung separater Verzweigungen für separate Notebooks bewährt.

Bewährte Methoden für Codereviews

Azure Databricks unterstützt Git-Verzweigungen.

  • Sie können ein Notebook mit einer beliebigen Verzweigung in einem Repository verknüpfen. In Azure Databricks wird empfohlen, für jedes Notebook eine separate Verzweigung zu verwenden.
  • Während der Entwicklung können Sie ein Notebook mit einer Verzweigung eines Repositorys oder mit einer anderen Verzweigung als der Standardverzweigung im Hauptrepository verknüpfen. Für eine Upstreamintegration Ihrer Änderungen können Sie in Azure Databricks über den Link PR erstellen im Dialogfeld Git-Einstellungen einen GitHub-Pull Request erstellen. Der Link „PR erstellen“ wird nur angezeigt, wenn Sie nicht in der Standardverzweigung des übergeordneten Repositorys arbeiten.

Problembehandlung

Sollten bei Ihnen Fehler im Zusammenhang mit der Synchronisierung des GitHub-Verlaufs auftreten, überprüfen Sie Folgendes:

  • Ein Notebook kann nur mit einem initialisierten, nicht leeren Git-Repository verknüpft werden. Testen Sie die URL in einem Webbrowser.
  • Das persönliche GitHub-Zugriffstoken muss aktiv sein.
  • Um ein privates GitHub-Repository verwenden zu können, müssen Sie über die Berechtigung zum Lesen des Repositorys verfügen.
  • Wenn ein Notebook mit einer GitHub-Verzweigung verknüpft ist, die umbenannt wird, wird die Änderung nicht automatisch in Azure Databricks widergespiegelt. Verknüpfen Sie das Notebook in diesem Fall noch einmal manuell mit dem Branch.

Migrieren zu Git-Ordnern für Databricks

Benutzer*innen, die von der Git-Legacyversionskontrolle zu Databricks Git-Ordnern migrieren möchten, können den folgenden Leitfaden verwenden: