Git : branches et fusions
Une branche est une étiquette mobile sur un commit : créer et changer de branche, HEAD attaché ou détaché, fusion en avance rapide ou par commit de fusion, suppression d'une branche fusionnée.
- 27 cartes
- 6 thèmes
- Gratuit
Le programme, thème par thème
Le poids de chaque thème suit celui que lui donne l'examen.
- Notions
- Questions
- Ranger et relier
- Les étapes
- Mises en situation
- Comprendre
Quelques cartes du deck
Branche : de quoi s'agit-il ?
Voir la réponse
Étiquette mobile posée sur un commit, qui avance toute seule d'un cran à chaque nouveau commit fait dessus.
Créer une branche ne copie aucun fichier : c'est écrire un nom dans un fichier. C'est pourquoi c'est instantané, même sur un gros projet.
Dans cet historique, quel commit est le commit de fusion ?
```text
* e59d223 Fusionne menu
|\
| * d85f593 Ajoute m
* | eb18868 Ajoute n
|/
* 4a75fff Ajoute b
* 16efacd Ajoute a`e59d223d85f593eb188684a75fff
Voir la réponse
e59d223Le commit de fusion est celui où deux lignes se rejoignent : e59d223 a pour parents eb18868 et d85f593. 4a75fff est l'ancêtre commun où elles se sont séparées.
git … -c menu crée la branche menu et s'y place ; git … main revient sur main.
Voir la réponse
git switch -c menu crée la branche menu et s'y place ; git switch main revient sur main.
Sans -c, la branche doit déjà exister. Avant, on utilisait git checkout pour ces deux usages, ce qui prêtait à confusion avec la restauration de fichiers.
git switch -c : de quoi s'agit-il ?
Voir la réponse
Crée une nouvelle branche au commit courant et s'y place aussitôt.
C'est la version en une étape de git branch suivi de git switch. Les modifications non validées du répertoire de travail suivent à la nouvelle branche.
Faire entrer le travail d'une branche dans main : quelle étape vient après « git switch -c menu pour créer la branche et s'y placer » ?
- Modifier les fichiers puis git add pour les indexer
- git commit -m pour enregistrer le travail sur menu
- git switch main pour revenir sur la branche qui doit recevoir
- git merge menu pour rapatrier les commits
Voir la réponse
Modifier les fichiers puis git add pour les indexer
On fusionne toujours depuis la branche qui reçoit : c'est pourquoi on revient sur main avant git merge menu. La suppression vient en dernier, une fois les commits dans main.