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
- Gehen Sie zu Einstellungen>Arbeitsbereichseinstellungen.
- 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 auswählen.
Hinweis
Bei geöffnetem Verlaufsbereich kann ein Notebook nicht geändert werden.
Verknüpfen eines Notebooks mit GitHub
Wählen Sie auf der rechten Randleiste aus. Auf der Git-Statusleiste wird der Status Git: Nicht verknüpft angezeigt.
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.
Aktivieren Sie für „Status“ die Option Verknüpfen.
Fügen Sie im Feld „Link“ die URL des GitHub-Repositorys ein.
Klicken Sie auf die Dropdownliste Verzweigung. Wählen Sie eine Verzweigung aus, oder geben Sie den Namen einer neuen Verzweigung ein.
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.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.
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.
Wählen Sie auf der rechten Randleiste aus, um den Verlaufsbereich zu öffnen.
Klicken Sie auf Jetzt speichern, um Ihr Notebook in GitHub zu speichern. Das Dialogfeld „Notebookversion speichern“ wird angezeigt.
Optional können Sie eine Beschreibung der Änderung eingeben.
Stellen Sie sicher, dass die Option Commit auch in Git durchführen aktiviert ist.
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.
Wählen Sie auf der rechten Randleiste aus, um den Verlaufsbereich zu öffnen.
Wählen Sie im Verlaufsbereich einen Eintrag aus. Azure Databricks zeigt diese Version an.
Klicken Sie auf Diese Version wiederherstellen.
Klicken Sie auf Bestätigen, um zu bestätigen, dass Sie diese Version wiederherstellen möchten.
Aufheben der Verknüpfung eines Notebooks
Wählen Sie auf der rechten Randleiste aus, um den Verlaufsbereich zu öffnen.
Auf der Git-Statusleiste wird der Status Git: Synchronisiert angezeigt.
Klicken Sie auf Git: Synchronisiert.
Klicken Sie im Dialogfeld „Git-Einstellungen“ auf Verknüpfung aufheben.
Klicken Sie auf Speichern.
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
Wählen Sie auf der rechten Randleiste aus, um den Verlaufsbereich zu öffnen.
Klicken Sie auf die Git-Statusleiste, um den GitHub-Bereich zu öffnen.
Klicken Sie auf die Dropdownliste Verzweigung.
Geben Sie einen Namen für die Verzweigung ein.
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
Wählen Sie auf der rechten Randleiste aus, um den Verlaufsbereich zu öffnen.
Klicken Sie auf die Git-Statusleiste, um den GitHub-Bereich zu öffnen.
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.
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:
Nach dem Rebasevorgang sieht die Branchstruktur folgendermaßen aus:
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:
Ü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: