Sobes.tech
Intern

Qu'est-ce qu'une branche (branch) dans Git?

sobes.tech IA

Réponse de l'IA

Une branche (branch) dans Git est une ligne de développement indépendante. Elle représente un pointeur vers un commit spécifique. Lors de la création d'une nouvelle branche, Git copie le pointeur vers le commit actuel. Toutes les modifications ultérieures sont enregistrées dans la nouvelle branche, sans affecter les autres.

Avantages de l'utilisation des branches :

  • Isolation du travail : Permet de travailler sur de nouvelles fonctionnalités ou corrections de bugs sans affecter la version stable du projet ou le travail des autres développeurs.
  • Développement parallèle : Plusieurs développeurs peuvent travailler simultanément sur différentes fonctionnalités dans leurs branches.
  • Expérimentations : Il est possible d'expérimenter avec de nouvelles idées sans craindre de détériorer la base de code principale.

Exemple de création de branche :

// Créer une nouvelle branche nommée feature/my-new-feature
git branch feature/my-new-feature

Passer à la branche :

// Passer à la branche feature/my-new-feature
git checkout feature/my-new-feature

Commande abrégée pour créer et basculer :

// Créer la branche et y passer immédiatement
git checkout -b feature/my-new-feature

Voir les branches existantes :

// Afficher la liste de toutes les branches
git branch

// Afficher la liste des branches distantes
git branch -r

// Afficher toutes les branches (locales et distantes)
git branch -a

La fusion (merge) de branches combine les changements d'une branche dans une autre.

// Passer à la branche où les changements doivent être fusionnés (par exemple, main)
git checkout main

// Fusionner les changements de la branche feature/my-new-feature dans la branche courante (main)
git merge feature/my-new-feature

Suppression d'une branche :

// Supprimer la branche feature/my-new-feature (si les changements ont déjà été fusionnés)
git branch -d feature/my-new-feature

// Supprimer de force la branche feature/my-new-feature (même si les changements n'ont pas été fusionnés)
git branch -D feature/my-new-feature