Gestion de versions avec Git pour les notebooks (ancienne version)

Important

La prise en charge de l’intégration Git des anciens notebooks a été supprimée le 31 janvier 2024. Databricks vous recommande d’utiliser des dossiers Git Databricks pour synchroniser votre travail dans Databricks avec un référentiel Git distant.

Cet article décrit comment configurer la gestion de versions Git pour les notebooks (fonctionnalité héritée). Vous pouvez également utiliser l’interface CLI Databricks ou l’API d’espace de travail pour importer et exporter des notebooks, et pour effectuer des opérations Git dans votre environnement de développement local.

Activer et désactiver le contrôle de version Git

Par défaut, la gestion de version est activée. Pour activer/désactiver ce paramètre :

  1. Accédez aux Paramètres>Paramètres de l’Espace de travail.
  2. Dans la section Avancé, désactivez l’option Gestion de versions Git des notebooks.

Configurer la gestion de version

Pour configurer la gestion de versions, créez des informations d’identification d’accès dans votre fournisseur Git, puis ajoutez ces informations d’identification à Azure Databricks.

Travailler avec des versions de notebook

Vous utilisez des versions de carnet dans le panneau d’historique. Ouvrez le panneau d’historique en cliquant sur Icône d’historique des versions dans la barre latérale droite.

Historique des versions

Remarque

Vous ne pouvez pas modifier un notebook lorsque le panneau d’historique est ouvert.

  1. Cliquez sur Icône d’historique des versions dans la barre latérale droite. La barre d’état Git affiche Git : non lié.

    Barre d’état Git

  2. Cliquez sur Git : non lié.

    La boîte de dialogue de préférences Git s’affiche. La première fois que vous ouvrez votre notebook, l’état est Supprimer le lien, car le notebook n’est pas dans GitHub.

    Préférences Git - lier un nouveau carnet

  3. Dans le champ État, cliquez sur Lien.

  4. Dans le champ lien, collez l’URL du dépôt GitHub.

  5. Cliquez sur la liste déroulante Branche et sélectionnez une branche ou tapez le nom d’une nouvelle branche.

  6. Dans le champ du chemin dans le dossier Git, spécifiez l’emplacement de stockage de votre fichier dans le dépôt.

    Les notebooks Python portent l’extension de fichier par défaut suggérée .py. Si vous utilisez .ipynb, votre bloc-notes sera sauvegardé au format de bloc-notes iPython. Si le fichier existe déjà sur GitHub, vous pouvez copier et coller directement l’URL du fichier.

  7. Cliquez sur Enregistrer pour finaliser la liaison de votre bloc-notes. Si ce fichier n’existait pas encore, une invite avec l’option Enregistrer ce fichier sur votre dépôt GitHub s’affiche.

  8. Saisissez un message et cliquez sur Enregistrer.

Enregistrer un notebook sur GitHub

Alors que les modifications que vous apportez à votre notebook sont enregistrées automatiquement dans l’historique de la version Azure Databricks, les modifications ne sont pas automatiquement conservées dans GitHub.

  1. Cliquez sur Icône d’historique des versions dans la barre latérale droite pour ouvrir le panneau d’historique.

    Panneau Historique - enregistrer maintenant

  2. Cliquez sur Enregistrer maintenant pour enregistrer votre notebook sur GitHub. La boîte de dialogue Enregistrer la version du carnet s’affiche.

  3. Si vous le souhaitez, entrez un message pour décrire vos modifications.

  4. Assurez-vous que l’option Valider également dans Git est sélectionnée.

    Enregistrer la version

  5. Cliquez sur Enregistrer.

Rétablir ou mettre à jour un notebook sur une version de GitHub

Une fois que vous avez lié un notebook, Azure Databricks synchronise votre historique avec Git chaque fois que vous rouvrez le panneau d’historique. Les versions synchronisées avec Git comportent des hachages de validation dans le cadre de l’entrée.

  1. Cliquez sur Icône d’historique des versions dans la barre latérale droite pour ouvrir le panneau d’historique.

    Panneau Historique

  2. Choisissez une entrée dans le panneau d’historique. Azure Databricks affiche cette version.

  3. Cliquez sur Restaurer cette version.

  4. Cliquez sur Confirmer pour confirmer que vous souhaitez restaurer cette version.

  1. Cliquez sur Icône d’historique des versions dans la barre latérale droite pour ouvrir le panneau d’historique.

  2. La barre d’état Git affiche Git : synchronisé.

    Panneau Historique - image enregistrer maintenant

  3. Cliquez sur Git : synchronisé.

    Préférences Git - dissocier le bloc-notes

  4. Dans la boîte de dialogue de préférences Git, cliquez sur Supprimer le lien.

  5. Cliquez sur Enregistrer.

  6. Cliquez sur Confirmer pour confirmer que vous souhaitez supprimer le lien du notebook de la gestion de versions.

Utiliser les branches

Vous pouvez utiliser n’importe quelle branche de votre dépôt et créer des branches à l’intérieur d’Azure Databricks.

Créer une branche

  1. Cliquez sur Icône d’historique des versions dans la barre latérale droite pour ouvrir le panneau d’historique.

  2. Cliquez sur la barre d’état Git pour ouvrir le panneau GitHub.

  3. Cliquez sur la liste déroulante Branche.

  4. Entrez un nom de branche.

    Créer une branche

  5. Sélectionnez l’option Créer une branche au bas de la liste déroulante. La branche parente est indiquée. Vous créez toujours une branche à partir de la branche actuellement sélectionnée.

Créer une pull request

  1. Cliquez sur Icône d’historique des versions dans la barre latérale droite pour ouvrir le panneau d’historique.

  2. Cliquez sur la barre d’état Git pour ouvrir le panneau GitHub.

    Préférences Git - créer une demande de fusion

  3. Cliquez sur Créer une PR. GitHub ouvre la page de pull request de la branche.

Rebase une branche

Vous pouvez également rebaser votre branche à l’intérieur d’Azure Databricks. Le lien Rebaser s’affiche si de nouveaux commits sont disponibles dans la branche parent. Seul le rebasage sur la branche par défaut du dépôt parent est pris en charge.

Rebase

Par exemple, supposons que vous travaillez sur databricks/reference-apps. Vous en effectuez une duplication (fork) dans votre propre compte (par exemple, brkyvz) et commencez à travailler sur une branche appelée my-branch. Si une nouvelle mise à jour est envoyée à databricks:master, le bouton Rebase s’affiche et vous pouvez tirer (pull) les modifications dans votre branche brkyvz:my-branch.

L’opération de rebasage fonctionne un peu différemment dans Azure Databricks. Supposons la structure de branche suivante :

Structure de la branche avant le rebasage

Après un rebasage, la structure de branche ressemble à ce qui suit :

Après la rebase de structure de branche

Ce qui est différent ici est que Commits C5 et C6 ne s’appliquent pas au-dessus de C4. Ils s’affichent en tant que modifications locales dans votre notebook. Les conflits de fusion s’affichent comme suit :

Conflit de fusion

Vous pouvez ensuite effectuer une nouvelle validation sur GitHub à l’aide du bouton Enregistrer maintenant.

Que se passe-t-il si quelqu’un a créé une branche à partir de ma branche que je viens de rebaser ?

Si votre branche (par exemple, branch-a) était la base d’une autre branche (branch-b) et que vous rebasez, vous n’avez pas besoin de vous inquiéter ! Une fois qu’un utilisateur aura également rebasé branch-b, tout rentrera dans l’ordre. Dans cette situation, la bonne pratique consiste à utiliser des branches distinctes pour des carnets distincts.

Bonnes pratiques pour les révisions de code

Azure Databricks prend en charge la création de branche Git.

  • Vous pouvez lier un notebook à n’importe quelle branche d’un dépôt. Azure Databricks recommande d’utiliser une branche distincte pour chaque notebook.
  • Pendant le développement, vous pouvez lier un notebook à une fourche d’un dépôt ou à une branche non définie par défaut dans le dépôt principal. Pour intégrer vos modifications en amont, vous pouvez utiliser le lien Créer une demande de tirage (PR) dans la boîte de dialogue de préférences Git dans Azure Databricks pour créer une demande de tirage GitHub. Le lien Créer une demande de tirage (PR) s’affiche uniquement si vous ne travaillez pas sur la branche par défaut du dépôt parent.

Dépannage

Si vous recevez des erreurs liées à la synchronisation de l’historique de GitHub, vérifiez les éléments suivants :

  • Vous ne pouvez lier un bloc-notes qu’à un dépôt Git initialisé qui n’est pas vide. Testez l’URL dans un navigateur web.
  • Le jeton d’accès personnel GitHub doit être actif.
  • Pour utiliser un dépôt GitHub privé, vous devez avoir l’autorisation de lire le dépôt.
  • Si un notebook est lié à une branche GitHub renommée, la modification n’est pas automatiquement reflétée dans Azure Databricks. Vous devez relier de nouveau manuellement le bloc-notes à la branche.

Migrer vers Databricks Git folders

Les utilisateurs qui souhaitent migrer vers des dossiers Git Databricks à partir de la gestion de version Git héritée peuvent utiliser le guide suivant :