command-line:git:branches
Différences
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 | ||
command-line:git:branches [le 03/04/2013 à 09:28] – Yosko | command-line:git:branches [le 01/09/2016 à 12:41] (Version actuelle) – [Commandes principales] Yosko | ||
---|---|---|---|
Ligne 3: | Ligne 3: | ||
===== Gestion basique des branches ===== | ===== Gestion basique des branches ===== | ||
+ | |||
+ | |||
+ | ===== Commandes principales ===== | ||
+ | Le plus simple : | ||
<code bash> | <code bash> | ||
git branch | git branch | ||
git branch A # | git branch A # | ||
- | git checkout A #work on branch A (replaces files in working dir) | ||
- | git merge B #merge B modifications into the current branch | ||
- | git branch -d B #delete branch B | ||
</ | </ | ||
+ | Changer de branche (le contenu du dossier local sera celui de la branche) : | ||
+ | <code bash> | ||
+ | git checkout A #work on branch A | ||
+ | </ | ||
+ | |||
+ | Créer une nouvelle branche issue de l' | ||
+ | <code bash> | ||
+ | git checkout -b hotfix | ||
+ | </ | ||
+ | |||
+ | Fusionner le contenu d'une branche (ici, hotfix) dans la branche courante (ici, master) : | ||
+ | <code bash> | ||
+ | git checkout master | ||
+ | git merge hotfix | ||
+ | </ | ||
+ | |||
+ | Il ne reste plus qu'à supprimer la branche devenue inutile : | ||
+ | <code bash> | ||
+ | git branch -d hotfix | ||
+ | </ | ||
+ | |||
+ | ===== Test de fusion ===== | ||
+ | |||
+ | Effectuer un merge à blanc : | ||
+ | <code bash> | ||
+ | git merge --no-commit --no-ff < | ||
+ | </ | ||
+ | |||
+ | Retour arrière : | ||
+ | <code bash> | ||
+ | git merge --abort | ||
+ | </ | ||
+ | ===== Précisions sur la fusion ===== | ||
+ | Si on fusionne avec une branche qui avait juste quelques commits de plus, il se passe juste un " | ||
+ | * Si aucun conflit, un nouveau commit est créé sur la branche de destination, | ||
+ | * Si un conflit au moins est détecté, une tentative de merge est faite en local, et c'est au développeur de corriger le conflit avant de le commiter (voir plus bas) | ||
===== Conflits ===== | ===== Conflits ===== | ||
Si, lors d'une fusion, un conflit apparait, les fichiers concernés comporteront un ou plusieurs passages de la forme : | Si, lors d'une fusion, un conflit apparait, les fichiers concernés comporteront un ou plusieurs passages de la forme : |
command-line/git/branches.1364981330.txt.gz · Dernière modification : le 03/04/2013 à 09:28 de Yosko