Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
| dev:git:branches [2023/09/15 09:12] – yoann | dev:git:branches [2023/09/15 16:35] (Version actuelle) – yoann | ||
|---|---|---|---|
| Ligne 7: | Ligne 7: | ||
| <code bash> | <code bash> | ||
| # lister les branches | # lister les branches | ||
| - | $ git branch | + | git branch |
| + | |||
| + | # Afficher seulement le nom de la branche courante | ||
| + | git branch --show-current | ||
| # lister les branches non fusionnées | # lister les branches non fusionnées | ||
| # avec la branche courante | # avec la branche courante | ||
| - | $ git branch --no-merged | + | git branch --no-merged |
| # lister les branches fusionnées avec | # lister les branches fusionnées avec | ||
| # avec la branche courante | # avec la branche courante | ||
| - | $ git branch --merged | + | git branch --merged |
| # Lister les branches fusionnées | # Lister les branches fusionnées | ||
| # avec la branche ' | # avec la branche ' | ||
| - | $ git branch --merged testing | + | git branch --merged testing |
| + | |||
| + | # Lister toutes les branches | ||
| + | git branch --all | ||
| </ | </ | ||
| - | Lors d'un clonage de dépot, la branche | + | ===== Créer une branche |
| - | 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 serveur | + | Généralement on souhaite créer la branche et basculer dessus : |
| + | <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 | ||
| <code bash> | <code bash> | ||
| - | # Récupérer les modifications | + | # Récupérer les modifications |
| - | $ git fetch origin | + | # sur le dépot en amont nommé " |
| + | git fetch origin | ||
| + | |||
| + | # Récupère les modifications sur le serveur | ||
| + | # amont yoann | ||
| + | git fetch yoann | ||
| </ | </ | ||
| - | Les modifications apportées par les collaborateurs sont ajoutées dans notre dépot mais ne sont pas intégrées à notre branche locale master. Pour ce faire il faudra faire un merge de origin/ | + | Les modifications apportées par les collaborateurs sont ajoutées dans notre dépot mais ne sont pas intégrées à notre branche locale master. Pour ce faire il faudra faire un merge de origin/ |
| Lorsqu' | Lorsqu' | ||
| <code bash> | <code bash> | ||
| - | $git merge origin/ | + | git merge origin/ |
| - | $git merge {@upstrem} | + | |
| - | $git merge {@u} | + | |
| - | </ | + | |
| + | # Equivalent | ||
| + | git merge {@upstrem} | ||
| - | Si une nouvelle branche est disponible, la référence existe mais la branche locale n' | + | # Equivalent |
| + | git merge {@u} | ||
| + | </ | ||
| + | |||
| + | Pour apporter des modifications | ||
| - | Un raccourci existe pour ce cas banal: | ||
| <code bash> | <code bash> | ||
| - | $ git branch --track origin/testing | + | # Création d'une branche locale qui suit la |
| + | # branche amont " | ||
| + | git checkout -b feature01 origin/ | ||
| + | |||
| + | # Equivalent | ||
| + | $ git branch --track origin/feature01 | ||
| </ | </ | ||
| - | La commande précédente aboutie à la création d'une branche locale nommée 'testing' ayant pour branche amont ' | + | La commande précédente aboutie à la création d'une branche locale nommée 'feature01' ayant pour branche amont ' |
| + | |||
| + | L’extraction d’une branche locale à partir d’une branche distante crée automatiquement ce qu’on appelle une " | ||
| <code bash> | <code bash> | ||
| - | # Pousser les modifications sur le serveur amont | + | # Crée automatiquement une branche locale de suivi de " |
| - | $ git push origin testing | + | 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 ===== | ===== Pousser une branche sur le serveur Amont ===== | ||
| - | Lorsqu' | + | Lorsqu' |
| <code bash> | <code bash> | ||
| - | # Pousse la brache | + | # Pousse la branche |
| - | git push --set-upstream origin | + | git push --set-upstream origin |
| </ | </ | ||
| + | |||
| + | ===== 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 | ||