Git Tutorial - Branches

Jinku Hu 30 janvier 2023
  1. Pourquoi une branche est nécessaire ?
  2. Créer une nouvelle branche dans Git
  3. Supprimer une branche dans Git
  4. Créer et extraire une nouvelle branche simultanément dans Git
Git Tutorial - Branches

Dans ce tutoriel, nous apprendrons à propos d’une des fonctionnalités les plus importantes du système de contrôle de version de git - la branche.

Pourquoi une branche est nécessaire ?

Jusqu’à présent, nous n’avons travaillé que sur une seule branche - la branche master. C’est la branche par défaut lorsque nous créons un nouveau dépôt.

En général, la branche master représente la version stable de vos codes et est destinée à être publiée ou diffusée. Pour cette raison, nous ne voulons pas essayer de nouvelles fonctionnalités sur le nouveau code de la branche master pour éviter qu’il ne gâche le code.

Ce dont nous avons besoin quand nous voulons ajouter une nouvelle fonctionnalité à notre application, c’est de créer un environnement isolé pour tester cette nouvelle fonctionnalité, et si nous la finissons et la testons, nous pouvons fusionner cette nouvelle fonctionnalité dans la branche master. Au lieu d’ajouter plus de commits dans la branche master, nous créons une nouvelle branche pour travailler comme un environnement isolé et pour tester la nouvelle fonctionnalité.

Créer une nouvelle branche dans Git

$ git branch test_branch

Ce que nous faisons ici quand nous faisons cette branche test_branch est que nous copions l’état du code de la branche master sur cette branche, et ensuite nous pouvons travailler dans cette branche test_branch.

Vous pouvez lister les branches disponibles sur votre PC en tapant,

$ git branch
* master
  test_branch

La branche test_branch nouvellement créée et la branche master sont listées ici.

Maintenant vous êtes toujours sur la branche master bien que vous veniez de créer la nouvelle branche. Vous devez vérifier la nouvelle branche pour travailler dessus.

$ git checkout test_branch
Switched to branch 'test_branch'
D       test1_rename.txt

Il est dit maintenant qu’elle est passée à la branche test_branch, et si vous faites git branch à nouveau,

$ git branch
  master
* test_branch

Alors nous allons voir que nous sommes maintenant sur la branche test_branch parce que l’astérisque * est avant test_branch mais plus master.

Ajoutons du texte au fichier test3.txt, comme This is the added line in branch test_branch.. Maintenant, si vous faites git status, vous verrez que vous avez changé ce fichier.

$ git status
On branch test_branch
Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git checkout -- <file>..." to discard changes in working directory)

	modified:   test3.txt

no changes added to commit (use "git add" and/or "git commit -a")

Nous pourrions livrer les changements à cette branche comme nous l’avons appris dans les derniers chapitres.

Ce que nous avons fait est que nous avons créé cette nouvelle branche et fait quelques changements qui sont isolés de la branche master. Les codes dans la branche master restent inchangés et stables.

Supprimer une branche dans Git

Une fois que nous sommes satisfaits de la nouvelle fonctionnalité ajoutée à la branche, nous pouvons la supprimer.

$ git checkout master
$ git branch -d test_branch
error: The branch 'test_branch' is not fully merged.
If you are sure you want to delete it, run 'git branch -D test_branch'.

Le paramètre -d après branch signifie qu’il va supprimer la branche spécifiée.

Nous avons une erreur disant The branch 'test_branch' is not fully merged. If you are sure you want to delete it, run 'git branch -D test_branch'.. Le d minuscule ne fonctionne qu’une fois que nous avons fusionné la branche, mais le D majuscule pourrait effacer de force la branche. Nous introduirons comment fusionner la branche dans les prochains chapitres, mais pour l’instant, utilisons juste un D majuscule pour effacer cette branche.

$ git branch -D test_branch
Deleted branch test_branch (was 7d6bca6).

Si vous vérifiez les branches maintenant, cela ne montre que la branche master maintenant.

$ git branch
* master

Créer et extraire une nouvelle branche simultanément dans Git

Le workflow montré ci-dessus crée d’abord une branche en utilisant git branch puis extrait cette branche en utilisant git checkout.

Il a un moyen plus rapide de combiner ces deux étapes en une seule.

$ git checkout -b new_test_branch
Switched to a new branch 'new_test_branch'
M       test3.txt

Ce qu’il fait, c’est qu’il crée une branche et qu’il la vérifie également. Nous n’avons donc pas à effectuer ces deux étapes séparément.

Auteur: Jinku Hu
Jinku Hu avatar Jinku Hu avatar

Founder of DelftStack.com. Jinku has worked in the robotics and automotive industries for over 8 years. He sharpened his coding skills when he needed to do the automatic testing, data collection from remote servers and report creation from the endurance test. He is from an electrical/electronics engineering background but has expanded his interest to embedded electronics, embedded programming and front-/back-end programming.

LinkedIn Facebook