Accéder au contenu principal

Branche clone Git : Un tutoriel étape par étape

Pour cloner une branche spécifique, utilisez la commande git clone --single-branch --branch , en remplaçant par la branche souhaitée et par l'URL du dépôt.
Actualisé 15 janv. 2025

Imaginez que vous rédigiez un livre et que vous souhaitiez expérimenter de nouvelles idées sans altérer l'original. Vous pouvez commencer un nouveau carnet pour chaque idée, en gardant vos brouillons séparés.

Git, un système de contrôle de version, permet aux développeurs de logiciels de faire de même avec le code par le biais de "branches". Chaque branche est comme un chemin de développement séparé, vous permettant d'explorer les changements sans affecter la base de code principale.

Analogie d'une branche de clone Git avec un livre

Dans cet article, je vous guiderai dans l'utilisation de git clone, en me concentrant sur le clonage de branches spécifiques. Si vous souhaitez en savoir plus sur Git, je vous recommande ce cours d'introduction à Git.

Commençons par une réponse courte pour ceux d'entre vous qui sont pressés. Nous entrerons ensuite dans les détails.

Devenez ingénieur en données

Développez vos compétences en Python pour devenir un ingénieur de données professionnel.
Commencez gratuitement

Réponse courte : Comment cloner une branche spécifique

Pour cloner une branche spécifique d'un dépôt git, utilisez la commande suivante :

git clone --single-branch --branch <branch_name> <repository_url>

Remplacez par le nom de la branche souhaitée et par l'URL du dépôt. Cette commande crée une copie locale de la branche spécifiée, ce qui permet un développement immédiat et ciblé sur cette branche.

Exemple

Tout au long de cet article, nous utiliserons ce référentiel. Vous pouvez l'utiliser pour essayer les commandes que vous apprenez sur votre machine. Le référentiel contient trois branches :

  1. main: La branche par défaut contient deux fichiers texte.
  2. add-new-file: Une branche où un troisième fichier a été ajouté.
  3. modify-file: Une branche où le deuxième fichier a été modifié.

Voici comment nous pouvons cloner la branche ajouter-nouveau-fichier:

git clone --single-branch --branch add-new-file https://github.com/fran-aubry/git-clone-example.git

Qu'est-ce que git clone?

Par défaut, git clone est conçu pour copier l'ensemble du référentiel dans un nouveau répertoire sur votre machine locale, en clonant toutes les branches. Voici la syntaxe :

git clone <repository_url>

Pour cloner le référentiel d'exemple, nous pouvons procéder comme suit :

git clone https://github.com/fran-aubry/git-clone-example.git

Après avoir exécuté cette commande, toutes les branches seront copiées sur votre machine locale. Cependant, les fichiers d'une seule branche sont visibles à la fois, la branche check-out. Après le clonage d'un dépôt, la branche par défaut (généralement appelée main ou master ) est celle qui est extraite.

git clone default checked-out branch

Changement de branche

Après un clonage complet, nous pouvons passer (checkout) à la branche désirée en utilisant la commandegit checkout. Par exemple, pour extraire la branche modify-file, nous ferons ce qui suit :

git checkout modify-file

git check out branch

Profondeur de clonage

Lorsque vous travaillez avec git, les modifications apportées à une branche sont sauvegardées en les validant à l'aide de la commande git commit . Chaque livraison crée un nouvel état de cette branche, sur lequel vous pouvez revenir plus tard si nécessaire. Curieusement, chaque livraison crée un instantané, et git garde la trace de tous ces instantanés. Vous pouvez à tout moment ramener une branche à l'un de ces instantanés.

La commande git clone, lorsqu'elle est utilisée sans options, télécharge chaque commit de chaque branche sur votre machine locale. En fonction de la taille du projet, cela peut prendre beaucoup de place dans votre entrepôt local. Si vous savez que vous n'aurez pas besoin de tout l'historique, vous pouvez utiliser le paramètre --depth pour spécifier le nombre de commits (ou d'instantanés) que vous souhaitez cloner .

Pour cloner la branche principale tout en ne chargeant que le commit le plus récent, utilisez la commande suivante :

git clone --depth=1 https://github.com/fran-aubry/git-clone-example.git

Clonage d'une branche spécifique

Nous avons appris à cloner un dépôt en utilisant git clone. Par défaut, cette commande clone tout sur votre machine locale. Souvent, vous ne souhaitez travailler que sur une branche spécifique, il est donc plus efficace de ne cloner que cette branche. Cette approche permet d'économiser de l'espace disque et de commencer à travailler immédiatement sans avoir à changer de branche après le clonage.

Pour reprendre l'analogie avec l'écriture d'un livre, imaginez que l'on vous confie la réécriture du deuxième chapitre d'un livre. Dans ce cas, vous ne devez cloner que la branche dans laquelle cette tâche est effectuée, car il n'est pas nécessaire d'avoir accès aux branches liées à la révision d'autres chapitres.

Vous pouvez demander à git de cloner une seule branche en ajoutant les arguments --single-branch et --branch suivis du nom de la branche :

git clone --single-branch --branch <branch_name> <repository_url>

Décortiquons la commande :

  • git clone: Il s'agit de la commande git de base utilisée pour copier un dépôt depuis une source distante vers votre machine locale.
  • --single-branch: Cette option indique à Git de ne cloner qu'une seule branche. Si aucune branche n'est spécifiée, la branche par défaut sera clonée.
  • --branch : Cette option spécifie la branche à cloner. Le <branch_name> est le nom de la branche que vous souhaitez cloner.
  • : Il s'agit de l'URL du référentiel.

Par exemple, pour cloner uniquement le fichier modifier-fichier de notre référentiel, nous pouvons faire ce qui suit :

git clone --single-branch --branch add-new-file https://github.com/fran-aubry/git-clone-example.git

Comment travailler avec une branche clonée

Lorsque vous travaillez sur une branche, vous devez effectuer trois opérations essentielles :

  1. Sauvegarder votre travail en cours en créant un instantané de l'état actuel.
  2. Télécharger vos modifications pour que tout le monde puisse y avoir accès.
  3. Télécharger les modifications d'autres personnes et les fusionner avec les vôtres.

Sauvegarder vos modifications avec git commit

Dans Git, la sauvegarde de votre travail s'appelle la création d'un commit. Ce processus prend un instantané de l'état actuel de la branche sur laquelle vous travaillez.

L'état de la branche est sauvegardé sur votre machine locale après chaque livraison, ce qui vous permet de naviguer entre les différents stades d'avancement.

une illustration des commits git sur une branche git

Pour valider vos modifications dans git, vous utilisez la commande git commit. Cependant, avant de livrer vos modifications, git a besoin de savoir quels fichiers vous souhaitez inclure dans la livraison. Vous indiquez les fichiers à sauvegarder à l'aide de la commande git add. La syntaxe de cette commande est la suivante :

git add <path_to_file>

Dans la syntaxe, est le chemin d'accès au fichier que vous souhaitez livrer. Par exemple, si nous sommes sur la branche modify-file de notre référentiel d'exemple et que nous avons ajouté un paragraphe à file2.txt, vous ajouterez ce fichier en exécutant :

git add file2.txt

Après avoir ajouté tous les fichiers que vous souhaitez inclure dans votre validation, vous pouvez procéder à la validation en exécutant :

git commit -m <message>

Ici, l'argument doit être un message concis entre guillemets, décrivant brièvement les changements. Par exemple :

git commit -m "Add paragraph"

Voici quelques conventions pour le message de validation. Ils sont essentiels pour assurer la clarté et la compréhension de toutes les personnes travaillant sur le projet :

  • Utilisez l'impératif : Commencez votre message de livraison par un verbe à la forme impérative (par exemple, "Add", "Fix", "Update"). Par exemple, au lieu de "Ajout d'une nouvelle fonctionnalité", écrivez "Ajout d'une nouvelle fonctionnalité".
  • Soyez concis tout en étant descriptif : Essayez de rédiger un message bref, idéalement de moins de 50 caractères. Cependant, privilégiez la clarté dans la description des changements. Au lieu de "Changer des choses", écrivez "Mettre à jour le style de la barre de navigation".
  • Évitez les messages génériques : Évitez les messages vagues tels que "Corrigez les bogues" ou "Apportez des améliorations". Au lieu de cela, soyez précis : "Corriger un bogue dans la validation du formulaire de connexion" ou "Améliorer la lisibilité de la documentation".

Télécharger vos modifications avec git push

Lorsque vous effectuez une validation, vous créez un instantané des modifications sur votre machine locale. Pour que d'autres personnes puissent accéder à vos modifications, vous devez les télécharger. Pour ce faire, vous utilisez la commande push.

La syntaxe de base de la commande push dans Git est la suivante :

git push <remote> <branch>

Voyons cela en détail :

  • : Il s'agit du nom du dépôt distant dans lequel vous souhaitez transférer vos modifications. Par défaut, lorsque vous clonez un dépôt, le dépôt distant est appelé origin.
  • : Il s'agit du nom de la branche dont les modifications doivent être transférées dans le référentiel distant. Si vous ignorez cet argument, Git poussera les modifications en fonction de la branche actuelle et des configurations de suivi à distance.

Voici quelques cas d'utilisation courante de git push:

  • Pousser les changements de la branche actuelle : git push
  • Pousser les changements d'une branche spécifique : git push origin

Télécharger les modifications avec git pull

Git permet à de grandes équipes de travailler simultanément sur un même projet. Lorsque des collègues éditent la même branche que celle sur laquelle vous travaillez, votre branche locale peut devenir obsolète par rapport à la branche distante.

Pour télécharger les commits d'autres personnes, nous utilisons la commande git pull. La syntaxe de base de la commande push dans git est la suivante :

git pull <remote> <branch>

Voici ce que fait chaque paramètre :

  • : Il s'agit du nom du référentiel distant à partir duquel vous souhaitez extraire des données. Par défaut, ce dépôt est nommé origin.
  • : Il s'agit du nom de la branche dont vous souhaitez extraire les modifications. S'il n'est pas spécifié, git utilise la branche courante ainsi que sa branche amont.

Voici quelques cas d'utilisation courante de git pull:

  • Tirer les changements de la branche actuelle : git pull
  • Tirer les modifications d'une branche spécifique : git pull origin

Flux de travail Commit-pull-push

Lorsque vous utilisez Git, je vous recommande d'extraire fréquemment les mises à jour afin de vous assurer que votre branche locale reste à jour. Je vous conseille de respecter les bonnes pratiques suivantes :

  • Avant de commencer votre travail, récupérez les dernières mises à jour de votre branche actuelle afin de vous assurer que vous travaillez sur la version la plus récente.
  • Effectuez des livraisons fréquentes, en veillant à ce que chaque livraison se concentre sur des modifications mineures et logiquement liées.
  • Après avoir effectué quelques modifications et créé un commit, tirez à nouveau pour mettre à jour votre branche, au cas où quelqu'un d'autre aurait fait des mises à jour en même temps.
  • Enfin, transférez vos modifications vers le référentiel distant.

Flux de travail Git

Conflits Git

Lorsque vous exécutez la commandegit pull pour télécharger des modifications depuis un dépôt distant, il est possible de rencontrer un scénario dans lequel un autre commit a modifié les mêmes lignes que vos commits locaux. Git tente de fusionner automatiquement les modifications, et dans de nombreux cas, il y parvient. Par exemple, si des modifications sont apportées à différentes parties d'un même fichier, Git peut les fusionner de manière transparente car les modifications affectent des sections distinctes.

Cependant, si vous et un autre contributeur avez édité le même paragraphe, git sera incapable de déterminer quelle version conserver, ce qui entraînera un conflit de fusion. Dans ce cas, vous devrez résoudre manuellement le conflit en décidant des modifications à conserver.

Pour plus d'informations sur la résolution des conflits, je vous recommande de lire cet article sur comment résoudre les conflits de fusion dans Git.

Téléchargement GitHub

Dans certains cas, vous souhaitez disposer d'une copie locale d'un référentiel pour l'utiliser sans avoir l'intention de le modifier. S'il s'agit d'un dépôt public, il n'est pas nécessaire d'installer Git sur votre machine locale. Vous pouvez télécharger directement le dépôt depuis GitHub en cliquant sur le bouton Code suivi du boutonDownload Zip, comme indiqué ci-dessous :

Exemple de téléchargement depuis GitHub

Conclusion

Le clonage Git vous permet de copier un dépôt Git sur votre machine locale, ce qui vous permet d'utiliser le code ou de le développer en y ajoutant de nouvelles fonctionnalités. Lors du clonage d'un référentiel, toutes les branches sont téléchargées, ce qui peut consommer une quantité importante d'espace disque.

Les branches sont utilisées pour travailler sur des changements ou des fonctionnalités spécifiques. Le clonage d'une branche spécifique vous permet de contribuer à ces changements sans télécharger de travaux non liés, ce qui nécessite beaucoup moins d'espace disque et permet de garder votre disque local plus propre.

Si vous souhaitez en savoir plus sur le sujet, je vous recommande ce qui suit Tutoriel GitHub et Git pour les débutants.


François Aubry's photo
Author
François Aubry
LinkedIn
L'enseignement a toujours été ma passion. Dès mes premiers jours d'études, j'ai cherché avec enthousiasme des occasions de donner des cours particuliers et d'aider d'autres étudiants. Cette passion m'a amenée à poursuivre un doctorat, où j'ai également été assistante d'enseignement pour soutenir mes efforts académiques. Au cours de ces années, j'ai trouvé un immense épanouissement dans le cadre d'une classe traditionnelle, en favorisant les liens et en facilitant l'apprentissage. Cependant, avec l'avènement des plateformes d'apprentissage en ligne, j'ai reconnu le potentiel de transformation de l'éducation numérique. En fait, j'ai participé activement au développement d'une telle plateforme dans notre université. Je suis profondément engagée dans l'intégration des principes d'enseignement traditionnels avec des méthodologies numériques innovantes. Ma passion est de créer des cours qui sont non seulement attrayants et instructifs, mais aussi accessibles aux apprenants à l'ère du numérique.
Sujets

Apprenez Git avec ces cours !

cours

Introduction to Git

2 hr
9.1K
Discover the fundamentals of Git for version control in your software and data projects.
Afficher les détailsRight Arrow
Commencer le cours
Voir plusRight Arrow
Apparenté

blog

Les 32 meilleures questions d'entretien sur AWS et leurs réponses pour 2024

Un guide complet pour explorer les questions d'entretien AWS de base, intermédiaires et avancées, ainsi que des questions basées sur des situations réelles. Il couvre tous les domaines, garantissant ainsi une stratégie de préparation bien équilibrée.
Zoumana Keita 's photo

Zoumana Keita

30 min

blog

Q2 2023 DataCamp Donates Digest

DataCamp Donates a offert plus de 20k bourses d'études à nos partenaires à but non lucratif au deuxième trimestre 2023. Découvrez comment des apprenants défavorisés et assidus ont transformé ces opportunités en réussites professionnelles qui ont changé leur vie.
Nathaniel Taylor-Leach's photo

Nathaniel Taylor-Leach

blog

Célébration de Saghar Hazinyar : Une boursière de DataCamp Donates et une diplômée de Code to Inspire

Découvrez le parcours inspirant de Saghar Hazinyar, diplômée de Code to Inspire, qui a surmonté les défis en Afghanistan et s'est épanouie grâce à une bourse de DataCamp Donates.
Fereshteh Forough's photo

Fereshteh Forough

4 min

blog

Les 20 meilleures questions d'entretien pour les flocons de neige, à tous les niveaux

Vous êtes actuellement à la recherche d'un emploi qui utilise Snowflake ? Préparez-vous à répondre à ces 20 questions d'entretien sur le flocon de neige pour décrocher le poste !
Nisha Arya Ahmed's photo

Nisha Arya Ahmed

20 min

blog

2022-2023 Rapport annuel DataCamp Classrooms

À l'aube de la nouvelle année scolaire, DataCamp Classrooms est plus motivé que jamais pour démocratiser l'apprentissage des données, avec plus de 7 650 nouveaux Classrooms ajoutés au cours des 12 derniers mois.
Nathaniel Taylor-Leach's photo

Nathaniel Taylor-Leach

8 min

blog

Nous avons fait don de bourses DataCamp Premium à un million de personnes, et ce n'est pas fini.

Réparties entre nos deux programmes d'impact social, DataCamp Classrooms et #DCDonates, les bourses offrent un accès illimité à tout ce que DataCamp Premium a à offrir.
Nathaniel Taylor-Leach's photo

Nathaniel Taylor-Leach

Voir plusVoir plus