Aller au contenu

Branche git

Définition

La commande git branch permet de créer, lister et supprimer des branches. Elle ne permet pas de basculer entre les branches ni de fusionner à nouveau un historique bifurqué. Ainsi, git branch est intégré aux commandes git checkout et git merge.

git branch

Utilisation de git branch

Le branchement est une fonctionnalité disponible dans la plupart des systèmes de contrôle de version. Les branches Git sont des pointeurs vers un instantané des modifications apportées. Une nouvelle branche est créée pour isoler les modifications lorsque vous souhaitez corriger des bugs ou ajouter de nouvelles fonctionnalités. Cela vous aide à nettoyer l'historique futur avant de le fusionner. Les branches Git sont une partie essentielle du flux de travail quotidien. Git ne copie pas les fichiers d'un répertoire à un autre ; il stocke la branche comme une référence à un commit.

Fonctionnement

Les branches représentent une ligne de développement isolée. Elles sont utilisées pour demander un nouveau répertoire de travail, une zone de staging et l'historique du projet. Développer des lignes de développement isolées pour deux fonctionnalités dans des branches permet de les traiter en parallèle et de garder la branche master exempte de code douteux.

git branch1

Options courantes

git branchListe toutes les branches du dépôt (identique à git branch --list).
git branch <branche>Crée une nouvelle branche nommée <branche> mais ne bascule pas dessus.
git branch -d <branche>Supprime une branche. Si des modifications non fusionnées existent, Git ne permet pas de la supprimer.
git branch -D <branche>Force la suppression de la branche, même en cas de modifications non fusionnées. Exécutez cette commande uniquement si vous êtes certain de vouloir la supprimer définitivement.
git branch -m <branche>Déplace ou renomme la branche actuelle vers <branche>.
git branch -aListe toutes les branches locales et distantes.

Création de branches

Les branches ne sont que des pointeurs vers des commits. Lorsque vous créez une branche, Git crée un nouveau pointeur. Cela ne modifie pas l'historique du dépôt.

git branch2

Vous pouvez créer une branche avec la commande git branch :

la commande git branch

bash
git branch test_branch

L'historique du dépôt restera inchangé. Un nouveau pointeur vers le commit actuel sera créé :

git branch3

La branche nouvellement créée doit être sélectionnée avec git checkout, puis git add et git commit doivent être utilisés pour y ajouter des commits.

Création de branches distantes

La commande git branch opère non seulement sur les branches locales, mais aussi sur les branches distantes. La création d'une branche sur un dépôt distant doit être configurée et ajoutée à la configuration du dépôt local :

la commande git branch

bash
git remote add new-remote-repo https://hostname/user/repo.git
# Add remote repo to local repo config
git push <new-remote-repo> test_branch
# pushes the test_branch branch to new-remote-repo

Suppression de branches

Une fois le travail sur une branche terminé et fusionné dans la branche master principale, vous pouvez la supprimer :

suppression de branches avec git

bash
git branch -d test_branch

Si des modifications non fusionnées subsistent, une erreur se produira :

erreur de suppression de branche git

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

Si vous êtes certain de vouloir supprimer la branche définitivement, vous pouvez utiliser la commande git branch avec l'option majuscule -D :

suppression forcée de branche git branch

bash
git branch -D test_branch

Les commandes mentionnées ci-dessus suppriment uniquement la copie locale d'une branche. La branche peut toujours exister sur les dépôts distants. Exécutez ce qui suit pour supprimer la branche distante :

suppression de branche distante git

bash
git push origin --delete test_branch

ou

suppression de branche distante avec git

bash
git push origin :test_branch

Pratique

Quelles sont les fonctionnalités et caractéristiques de la commande 'git branch' ?

Trouvez-vous cela utile?

Aperçu dual-run — comparez avec les routes Symfony en production.