Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Cette page explique comment effectuer des opérations Git courantes dans votre espace de travail Azure Databricks à l’aide de dossiers Git, notamment le clonage, la branchement, la validation et l’envoi (push).
Ce guide couvre les opérations Git suivantes :
| Installation et configuration | Flux de travail quotidien | Opérations avancées |
|---|---|---|
Cloner un dépôt
Lorsque vous clonez un référentiel distant, Databricks crée un dossier Git dans votre espace de travail qui contient le contenu du référentiel et effectue le suivi des modifications. Vous pouvez créer des dossiers Git à l’aide de l’interface utilisateur Azure Databricks ou du terminal web.
Remarque
- Vous devez avoir
CAN MANAGEl’autorisation sur le dossier parent où vous souhaitez créer le dossier Git. - Votre espace de travail doit avoir des informations d’identification Git configurées. Consultez Connecter votre fournisseur Git à Databricks.
Cloner depuis l’interface utilisateur
Dans la barre latérale, sélectionnez Espace de travail et accédez au dossier dans lequel vous souhaitez créer le clone du référentiel Git.
Cliquez sur Créer un>dossier Git.
Dans la boîte de dialogue Créer un dossier Git, fournissez les informations suivantes :
Terrain Descriptif URL du référentiel Git URL du dépôt Git que vous souhaitez cloner, au format https://example.com/organization/project.git.Fournisseur Git Fournisseur Git pour le référentiel que vous souhaitez cloner. Nom du dossier Git Nom du dossier de votre espace de travail qui contient le contenu du dépôt cloné. Mode d’extraction éparse Indique s’il faut utiliser l’extraction éparse, qui clone seul un sous-ensemble de répertoires de votre référentiel à l’aide d’un modèle en cône. Cela est utile si votre référentiel dépasse les limites de taille. Utiliser Git CLI (bêta) Activez l’exécution de commandes Git standard directement à partir d’un terminal Azure Databricks. Cela permet d’accéder aux opérations avancées telles que les crochets pré-commit, les sous-modules Git et le stockage de fichiers volumineux (LFS). Consultez Utiliser des commandes Git CLI (bêta). Cliquez sur Créer un dossier Git. Le contenu du référentiel distant est cloné dans votre espace de travail et vous pouvez commencer à utiliser les opérations Git prises en charge.
Cloner à partir du terminal web
Vous pouvez également créer des dossiers Git avec un accès CLI directement à partir du terminal web :
Accédez au terminal web. Consultez Exécuter des commandes d’interpréteur de commandes dans un terminal web Azure Databricks.
Accédez au répertoire parent dans
/Workspace:cd /Workspace/Users/<your-email>/<project>Remarque
Vous ne pouvez pas créer de dossiers Git avec l’accès à Git CLI dans
/Reposou dans des dossiers Git existants.Clonez votre référentiel :
git clone <remote-url>La
git clonecommande utilise les informations d’identification Git configurées dans votre espace de travail. Consultez Connecter votre fournisseur Git à Databricks.Actualisez votre navigateur pour afficher le nouveau dossier dans le navigateur de fichiers de l’espace de travail.
Utiliser des commandes Git CLI (bêta)
Important
Cette fonctionnalité est en version bêta. Les administrateurs d’espace de travail peuvent contrôler l’accès à cette fonctionnalité à partir de la page Aperçus . Consultez Gérer les préversions d’Azure Databricks.
Les dossiers Git avec accès Git CLI vous permettent d’exécuter des commandes Git standard directement à partir d’un terminal Azure Databricks. Vous pouvez:
- Exécutez n’importe quelle commande Git, y compris
git stash,git pull --forceetgit rebase -i. - Intégrez le linting et l'analyse du code à des hooks de pré-commit.
- Utilisez des référentiels qui dépassent les limites de 2 Go de mémoire et de 4 Go de disques de dossiers Git standard.
- Utilisez des sous-modules Git et un stockage de fichiers volumineux (LFS).
- Effectuez plusieurs validations localement avant d’envoyer (push) vers le référentiel distant.
Pour utiliser l’accès Git CLI, votre espace de travail doit disposer d’un calcul serverless activé avec la version 4 ou ultérieure de l’environnement.
Créer un dossier Git avec accès à Git CLI
Pour créer un dossier Git avec accès CLI :
- Si vous utilisez le terminal web, tout dépôt que vous clonez dispose automatiquement de l’accès à l’interface CLI Git.
- Si vous utilisez l’interface utilisateur, activez l’interface cli Git lorsque vous créez le dossier Git.
Après avoir créé un dossier Git avec accès CLI, exécutez n’importe quelle commande Git standard à partir du terminal web :
cd /Workspace/Users/<your-email>/<project>/my-repo
# Interactive rebase
git rebase -i main
# Stash uncommitted changes
git stash
# Work with submodules
git submodule update --init --recursive
Limitations de l’interface CLI Git
Les dossiers Git avec accès CLI présentent les limitations suivantes :
- Les espaces de travail avec des listes d’autorisation d’URL distantes activées ne peuvent pas utiliser les fonctionnalités de l’interface CLI Git.
- Les commandes Git CLI ignorent le paramètre d’administrateur qui bloque la validation des sorties de notebook.
- L’API Repos n’est pas prise en charge pour les dossiers Git avec accès CLI.
- Vous ne pouvez pas activer l’accès Git CLI pour les dossiers Git existants.
Résoudre les problèmes liés aux opérations Git CLI
- Le terminal demande des informations d’identification sur chaque opération : la fonctionnalité Cli Git n’est pas activée sur votre espace de travail. Contactez l’administrateur de votre espace de travail pour vérifier que la préversion est activée.
- Impossible d’activer l’accès CLI : les espaces de travail avec des listes d’autorisation d’URL distantes ne peuvent pas utiliser les fonctionnalités de l’interface CLI Git. Contactez l’administrateur de votre espace de travail pour passer en revue la configuration réseau de votre espace de travail.
- Les opérations Git échouent avec des erreurs d’autorisation : vérifiez que vous disposez
CAN MANAGEd’autorisations sur le dossier parent et que vos informations d’identification Git de votre espace de travail sont valides. Consultez Connecter votre fournisseur Git à Databricks.
Accéder à la boîte de dialogue Git
Accédez à la boîte de dialogue Git à partir d’un notebook ou à partir du navigateur de dossiers Git Azure Databricks.
À partir d’un bloc-notes, cliquez sur le bouton en regard du nom du bloc-notes qui identifie la branche Git actuelle.
Dans le navigateur des dossiers Git Azure Databricks, cliquez sur Git en regard du nom du dépôt.
Une boîte de dialogue plein écran s’affiche dans laquelle vous pouvez effectuer des opérations Git.
- Votre branche de travail actuelle. Vous pouvez sélectionner d’autres branches ici. Si d’autres utilisateurs ont accès à ce dossier Git, la modification de la branche modifie également la branche pour eux s’ils partagent le même espace de travail. Consultez la meilleure pratique recommandée pour éviter ce problème.
- Créez une branche.
- Ressources de fichiers et sous-dossiers archivés dans votre branche actuelle.
- Afficher l’historique de la branche actuelle.
- Extrayez du contenu à partir du référentiel Git distant.
- Ajoutez un message de validation et une description développée facultative pour vos modifications.
- Validez votre travail sur la branche de travail et envoyez la branche mise à jour au référentiel Git distant.
Cliquez sur pour choisir parmi d’autres opérations de branche Git, telles qu’une réinitialisation en dur, une fusion ou un rebase.
Créer une branche
Pour créer une branche :
- Ouvrez la boîte de dialogue Git.
- Cliquez sur Créer une branche.
- Entrez un nom pour la nouvelle branche et sélectionnez la branche de base.
- Cliquez sur Créer.
Basculer vers une autre branche
Pour changer de branche, utilisez le menu déroulant des branches dans la fenêtre Git :
Les modifications non validées sur la branche actuelle continuent et s’affichent comme des modifications non validées sur la nouvelle branche, si les modifications non validées ne sont pas en conflit avec le code sur la nouvelle branche. Abandonnez les modifications avant ou après les changements de branche si vous n’avez pas l’intention de transmettre les modifications non validées.
La version locale d’une branche peut rester présente dans le dossier Git associé pendant jusqu’à 30 jours après la suppression de la branche distante. Pour supprimer complètement une branche locale dans un dossier Git, supprimez le référentiel.
Important
Le changement de branches peut supprimer des ressources d’espace de travail lorsque la nouvelle branche ne contient pas ces ressources. Le basculement vers la branche actuelle recrée les ressources supprimées avec de nouveaux ID et URL. Cette modification ne peut pas être inversée.
Si vous avez partagé ou mis en signet des ressources depuis un dossier Git, vérifiez que les ressources existent sur la nouvelle branche avant de basculer.
Valider et envoyer (push) les modifications
Lorsque vous ajoutez de nouveaux blocs-notes ou fichiers, ou apportez des modifications aux blocs-notes ou fichiers existants, l’interface utilisateur du dossier Git met en surbrillance les modifications.
Ajoutez un message de validation requis pour les modifications, puis cliquez sur Commit &Push pour envoyer (push) les modifications vers le référentiel Git distant.
Si vous n’êtes pas autorisé à valider des modifications dans la branche par défaut, créez une nouvelle branche et utilisez l’interface de votre fournisseur Git pour créer une pull request et la fusionner dans la branche par défaut.
Remarque
Les sorties de bloc-notes ne sont pas incluses dans les validations par défaut lorsque les blocs-notes sont enregistrés dans des formats de fichier source (.py, .scala, .sql, .r). Pour plus d’informations sur la validation des résultats de notebooks au format IPYNB, consultez Contrôler les validations d’artefacts de sortie de notebooks IPYNB.
Modifications de tirage (pull)
Pour extraire des modifications à partir du référentiel Git distant, cliquez sur Extraire dans la boîte de dialogue des opérations Git. Les notebooks et d’autres fichiers sont mis à jour automatiquement vers la dernière version de votre référentiel Git distant. Si les modifications extraites du dépôt distant sont en conflit avec vos modifications locales dans Azure Databricks, résolvez les conflits de fusion.
Important
Les opérations Git qui récupèrent les modifications en amont effacent l’état du notebook. Consultez Les modifications entrantes effacent l’état du bloc-notes.
Collaborer dans des dossiers Git
Les dossiers Git Azure Databricks se comportent en tant que clients Git incorporés dans votre espace de travail, ce qui vous permet de collaborer via le contrôle de code source et le contrôle de version Git. Pour une collaboration efficace d’équipe :
- Chaque membre de l’équipe possède son propre dossier Git mappé au dépôt Git distant, où il travaille dans sa propre branche de développement.
- Un seul utilisateur effectue des opérations Git sur chaque dossier Git. Plusieurs utilisateurs effectuant des opérations Git sur le même dossier peuvent entraîner des problèmes de gestion des branches, tels qu’un utilisateur qui bascule involontairement des branches pour tout le monde.
Pour partager votre configuration de dossier Git avec un collaborateur :
- Cliquez sur Partager.
- Cliquez sur Copier le lien pour créer un dossier Git.
- Envoyez l’URL à votre collaborateur.
- Lorsque votre collaborateur ouvre l’URL, une boîte de dialogue est préremplie avec la configuration de votre dossier Git.
- Ils cliquent sur Créer un dossier Git pour cloner le référentiel dans leur propre espace de travail sous leur dossier de travail actuel.
Fusionner des branches
La fonction de fusion dans les dossiers Git Azure Databricks utilise git merge pour combiner l’historique de validation d’une branche vers une autre. Pour les débutants Git, Databricks recommande d’utiliser la fusion au lieu de la rebase, car elle ne nécessite pas d’envoi de force et ne réécrit pas l’historique de validation.
Pour fusionner une branche dans une autre, cliquez sur Menu Kebab et sélectionnez Fusionner.
- En cas de conflit de fusion, résolvez-le dans l’interface utilisateur des dossiers Git.
- En l'absence de conflit, la fusion pousse vers le référentiel Git distant à l'aide de
git push.
Résoudre les conflits de fusion
Les conflits de fusion se produisent lorsque Git ne peut pas rapprocher automatiquement les modifications apportées aux mêmes lignes d’un fichier provenant de différentes sources, telles que lors d’une opération d’extraction, de rebase ou de fusion.
Pour résoudre un conflit de fusion, utilisez l’interface utilisateur des dossiers Git qui affiche les fichiers en conflit et les options de résolution.
- Modifiez manuellement le fichier pour choisir les modifications à conserver.
- Sélectionnez Conserver toutes les modifications actuelles ou Prendre toutes les modifications entrantes pour accepter entièrement une version.
- Abandonnez l’opération et ignorez les modifications en conflit pour réessayer.
Résoudre manuellement les conflits
La résolution manuelle des conflits vous permet de déterminer les lignes en conflit à accepter. Modifiez directement le contenu du fichier pour résoudre les conflits.
Pour résoudre le conflit, sélectionnez les lignes de code que vous souhaitez conserver et supprimer tout le reste, notamment les marqueurs de conflit de fusion Git. Lorsque vous avez terminé, sélectionnez Marquer comme résolu.
Si vous avez fait des choix incorrects lors de la résolution des conflits de fusion, cliquez sur Abandonner pour abandonner le processus et annuler tout. Une fois que tous les conflits sont résolus, cliquez sur Continuer la fusion ou Continuer la rebase pour résoudre le conflit et terminer l’opération.
Rebaser une branche
La fonction de rebasage dans les dossiers Git Azure Databricks utilise git rebase pour intégrer les changements d'une branche dans une autre en réappliquant vos commits sur la branche cible, ce qui crée un historique linéaire.
Pour rebaser une branche sur une autre branche, cliquez sur Menu Kebab, puis sélectionnez Rebase, puis sélectionnez la branche cible.
- Après le rebasage, exécutez les commandes Git
git commitetgit push --forcepour mettre à jour le référentiel distant. - Rebase réécrit l’historique des validations, ce qui peut entraîner des problèmes de contrôle de version pour les collaborateurs travaillant dans le même référentiel.
Réinitialiser une branche
Effectuez une réinitialisation Git à partir de l’interface utilisateur des dossiers Git. Cette opération est équivalente à git reset --hard combiné avec git push --force.
La réinitialisation de Git remplace le contenu et l’historique de la branche par l’état le plus récent d’une autre branche. Vous pouvez l’utiliser lorsque les modifications sont en conflit avec la branche en amont et que vous n’avez pas l’esprit de perdre ces modifications lorsque vous réinitialisez la branche en amont.
En savoir plus sur git reset --hard.
Réinitialiser à une branche distante
Avec git reset dans ce scénario :
- Vous réinitialisez votre branche sélectionnée (par exemple,
feature_a) à une autre branche (par exemple,main). - Vous réinitialisez également la branche
feature_aen amont (distante) sur la branche primaire.
Important
Lorsque vous réinitialisez, vous perdez toutes les modifications validées et non validées dans la version locale et distante de la branche.
Pour réinitialiser une branche à une branche distante :
Dans le menu Branche de l’interface utilisateur de Dossiers Git, choisissez la branche que vous souhaitez réinitialiser.
Sélectionnez Réinitialiser à partir de
.
Sélectionnez la branche à réinitialiser, puis cliquez sur Exécuter la réinitialisation Git.
Configurer le mode de basculement partiel sur une branche (Sparse Checkout)
L'extraction parsemée est un paramètre côté client qui vous permet de cloner et de travailler uniquement avec un sous-ensemble des répertoires du référentiel distant dans Azure Databricks. Cela est particulièrement utile si la taille de votre référentiel dépasse les limites prises en charge par Azure Databricks.
Activez le mode d’extraction éparse lorsque vous clonez un nouveau dépôt. Vous ne pouvez pas désactiver le mode d’extraction de façon clairsemée après l’avoir activé.
Dans la boîte de dialogue Créer un dossier Git , activez le mode d’extraction éparse.
Dans la zone Modèles de cône, spécifiez les modèles de basculement sur une branche de cône souhaités. Séparez plusieurs modèles par des sauts de ligne.
Fonctionnement des modèles de cône
Pour comprendre le fonctionnement des modèles de cône en mode de vérification éparse, consultez le diagramme suivant représentant la structure du dépôt distant.
Si vous sélectionnez le mode d’extraction éparse, mais que vous ne spécifiez pas de modèle de cône, le modèle de cône par défaut s’applique. Cela inclut uniquement les fichiers à la racine, sans sous-répertoires, ce qui entraîne une structure de dépôt comme suit :
La définition de manière récursive du modèle de cône d'extraction éparse comme parent/child/grandchild inclut tout le contenu du répertoire grandchild. Les fichiers se trouvant immédiatement dans le répertoire /parent, /parent/child et racine sont également inclus. Consultez la structure de répertoires dans le diagramme suivant :
Remarque
Les comportements d’exclusion (!) ne sont pas pris en charge dans la syntaxe du modèle de cône Git.
Modifier les paramètres de basculement partiel sur une branche
Après avoir créé un dépôt, modifiez le modèle de cône d’extraction épars depuis Paramètres>Avancé>Modèles de cône.
Notez le comportement suivant :
La suppression d’un dossier du modèle cône le supprime d’Azure Databricks s’il n’existe aucune modification non validée.
L’ajout d’un dossier en modifiant le modèle de cône de vérification restreinte le synchronise avec Azure Databricks sans nécessiter de pull supplémentaire.
Les modèles d’extractions par sélection partielle ne peuvent pas être modifiés pour retirer un dossier lorsqu’il existe des modifications non validées dans ce dossier.
Par exemple, si vous modifiez un fichier dans un dossier et que vous ne validez pas les modifications, essayez de modifier le modèle d’extraction éparse pour exclure ce dossier, le modèle est accepté, mais le dossier n’est pas supprimé. Vous devez rétablir le modèle pour inclure ce dossier, valider vos modifications, puis réappliquer le nouveau modèle.
Apporter des modifications avec l’extraction éparse
Modifiez les fichiers existants et validez-les et envoyez-les à partir du dossier Git. Lorsque vous créez des dossiers de fichiers, incluez-les dans le modèle de cône que vous avez spécifié pour ce référentiel.
L’inclusion d’un nouveau dossier en dehors du modèle de cône génère une erreur pendant l’opération de commit et d’envoi (push). Pour résoudre ce problème, modifiez le modèle de cône pour inclure le nouveau dossier que vous essayez de valider et d’envoyer (push).
Limitations de l'extraction éparse
- L’extraction éparse ne fonctionne pas pour les référentiels Azure DevOps de plus de 4 Go.
- Vous ne pouvez pas désactiver l’extraction éparse pour un dépôt créé avec l’activation de l’extraction éparse.
Gérer les dossiers Git par programmation
Pour gérer les dossiers Git à l’aide de l’API, consultez la référence de l’API Repos.
Supprimer un dossier Git
Pour supprimer un dossier Git de votre espace de travail :
- Cliquez avec le bouton droit sur le dossier Git et sélectionnez Déplacer vers la corbeille.
- Cliquez sur Confirmer et déplacer vers la Corbeille.
Étapes suivantes
- Configurez l’authentification pour connecter Azure Databricks à votre fournisseur Git. Consultez Connecter votre fournisseur Git à Databricks.
- Découvrez les limites de taille et d’autres contraintes pour les dossiers Git. Consultez les limites et les références des dossiers Git Databricks.
- Configurez les paramètres au niveau de l’espace de travail pour l’intégration Git. Consultez Configurer les dossiers Git Databricks.