Partager via


Contrôle de version Git pour les notebooks (hérités)

Important

La prise en charge de l’intégration Git de l’ancien carnet de notes 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 le bouton bascule Contrôle de version des notebooks Git.

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.

Utiliser des versions de notebook

Vous utilisez des versions de notebook 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 - liaison nouveau notebook

  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 notebook sera enregistré au format de notebook iPython. Si le fichier existe déjà sur GitHub, vous pouvez copier et coller directement l’URL du fichier.

  7. Cliquez sur Enregistrer pour terminer la liaison de votre notebook. 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 notebook 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.

    Version de l’enregistrement

  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 - annuler la liaison de notebook

  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 allez toujours créer une branche à partir de la branche actuellement sélectionnée.

Créer une demande de tirage (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 tirage

  3. Cliquez sur Créer une demande de tirage (PR). GitHub s’ouvre dans une page de demande de tirage (pull request) pour la branche.

Rebaser une branche

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

Rebaser

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.

Le rebasage fonctionne un peu différemment dans Azure Databricks. Supposons la structure de branche suivante :

Avant la rebase de structure de branche

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, c’est que les 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 fonctionnera. Dans ce cas, la bonne pratique consiste à utiliser des branches distinctes pour des notebooks 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 pouvez lier un notebook seulement à 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 manuellement le notebook à la branche.

Migrer vers des dossiers Git Databricks

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 :