Git
Chapters ▾ 2nd Edition

A3.8 Appendix C: Commandes Git - Patchs

Patchs

Quelques commandes dans Git sont centrées sur la considération des commits en termes de changements qu’ils introduisent, comme si les séries de commits étaient des séries de patchs. Ces commandes vous aident à gérer vos branches de cette manière.

git cherry-pick

La commande git cherry-pick est utilisée pour prendre les modifications introduites dans un seul commit Git et essaye de les réintroduire en tant que nouveau commit sur la branche sur laquelle vous vous trouvez. Cela peut être utile pour prendre un ou deux commits sur une branche individuellement plutôt que fusionner dans la branche, ce qui prend toutes les modifications.

La sélection de commits est décrite et démontrée dans Gestion par rebasage et sélection de commit.

git rebase

La commande git rebase est simplement un cherry-pick automatisé. Elle détermine une série de commits puis les sélectionne et les ré-applique un par un dans le même ordre ailleurs.

Le rebasage est couvert en détail dans Rebaser (Rebasing), y compris l’étude des problèmes de collaboration induits par le rebasage de branches qui sont déjà publiques.

Nous la mettons en pratique tout au long d’un exemple de scission de votre historique en deux dépôts séparés dans Replace, en utilisant aussi l’option --onto.

Nous explorons un conflit de fusion de rebasage dans Rerere.

Nous l’utilisons aussi dans un mode de script interactif avec l’option -i dans Modifier plusieurs messages de validation.

git revert

La commande git revert est fondamentalement le contraire de git cherry-pick. Elle crée un commit qui applique l’exact opposé des modifications introduites par le commit que vous ciblez, essentiellement en le défaisant ou en revenant dessus.

Nous l’utilisons dans Inverser le commit pour défaire un commit de fusion.