Ci-dessous, les différences entre deux révisions de la page.
| Prochaine révision | Révision précédente | ||
| dev:git:branches [2016/12/28 13:17] – créée yoann | dev:git:branches [2023/09/15 16:35] (Version actuelle) – yoann | ||
|---|---|---|---|
| Ligne 6: | Ligne 6: | ||
| <code bash> | <code bash> | ||
| - | $ git branch | + | # lister les branches |
| + | git branch | ||
| + | |||
| + | # Afficher seulement le nom de la branche courante | ||
| + | git branch --show-current | ||
| + | |||
| + | # lister les branches non fusionnées | ||
| + | # avec la branche courante | ||
| + | git branch --no-merged | ||
| + | |||
| + | # lister les branches fusionnées avec | ||
| + | # avec la branche courante | ||
| + | git branch --merged | ||
| + | |||
| + | # Lister les branches fusionnées | ||
| + | # avec la branche ' | ||
| + | git branch --merged testing | ||
| + | |||
| + | # Lister toutes les branches | ||
| + | git branch --all | ||
| </ | </ | ||
| - | Lors d'un clonage de dépot, la branche | + | ===== Créer une branche |
| - | Lorsqu' | + | Généralement |
| + | <code bash> | ||
| + | git checkout -b issue33 | ||
| + | |||
| + | # Equivalent | ||
| + | git switch --create issue33 | ||
| + | </ | ||
| + | |||
| + | ===== Branches locales et distantes ===== | ||
| + | |||
| + | Lors d'un clonage de dépot, la branche master du serveur en amont est référencée par **origin/ | ||
| + | |||
| + | Le temps passant si des collaborateurs ont poussé des modifications sur le serveur nous n'en avons pas connaissance. Pour mettre à jour notre dépôt, on récupère les modifications apportées sur le dépôt distant via un fetch: | ||
| - | On récupère les modifications apportées sur le serveur | ||
| <code bash> | <code bash> | ||
| - | $ git fetch origin | + | # Récupérer les modifications disponibles |
| + | # sur le dépot en amont nommé " | ||
| + | git fetch origin | ||
| + | |||
| + | # Récupère les modifications sur le serveur | ||
| + | # amont yoann | ||
| + | git fetch yoann | ||
| </ | </ | ||
| - | Si une nouvelle branche est disponible, la référence existe | + | Les modifications apportées par les collaborateurs sont ajoutées dans notre dépot |
| + | |||
| + | Lorsqu' | ||
| - | Un raccourci existe pour ce cas banal: | ||
| <code bash> | <code bash> | ||
| - | $ git branch --track | + | git merge origin/master |
| + | |||
| + | # Equivalent | ||
| + | git merge {@upstrem} | ||
| + | |||
| + | # Equivalent | ||
| + | git merge {@u} | ||
| </ | </ | ||
| - | La commande précédente aboutie à la création d'une branche locale | + | Pour apporter des modifications sur une branche du serveur amont il faut créer |
| <code bash> | <code bash> | ||
| - | $ git push origin | + | # Création d'une branche locale qui suit la |
| + | # branche amont " | ||
| + | git checkout -b feature01 origin/ | ||
| + | |||
| + | # Equivalent | ||
| + | $ git branch --track | ||
| </ | </ | ||
| + | La commande précédente aboutie à la création d'une branche locale nommée ' | ||
| + | |||
| + | L’extraction d’une branche locale à partir d’une branche distante crée automatiquement ce qu’on appelle une " | ||
| + | |||
| + | <code bash> | ||
| + | # Crée automatiquement une branche locale de suivi de " | ||
| + | git checkout hotfix41 | ||
| + | </ | ||
| + | |||
| + | Pour afficher les branches de suivi configurées dans le dépôt courant : | ||
| + | <code bash> | ||
| + | git fetch --all | ||
| + | git branch -a -vv | ||
| + | </ | ||
| + | |||
| + | |||
| + | ===== Pousser une branche sur le serveur Amont ===== | ||
| + | |||
| + | Lorsqu' | ||
| + | |||
| + | <code bash> | ||
| + | |||
| + | # Pousse la branche locale " | ||
| + | git push --set-upstream origin feature02 | ||
| + | </ | ||
| + | |||
| + | |||
| + | ===== Supprimer des branches ===== | ||
| + | |||
| + | Pour supprimer une branche locale " | ||
| + | <code bash> | ||
| + | git branch -d feature02 | ||
| + | </ | ||
| + | |||
| + | Pour supprimer une branche distante " | ||
| + | |||
| + | <code bash> | ||
| + | git push origin --delete feature33 | ||
| + | </ | ||
| + | |||
| + | |||
| + | ===== Labels standards ===== | ||
| + | ^ proposed, pu (proposed update), feature | Ajout de fonctionnalité | ||
| + | ^ issue, iss, hotfix | ||