Revenir à l'endroit où vous avez commencé
$ git rebase --abort
Dire que votre histoire est
$ git log --pretty=oneline
a931ac7c808e2471b22b5bd20f0cad046b1c5d0d c
b76d157d507e819d7511132bdb5a80dd421d854f b
df239176e1a2ffac927d8b496ea00d5488481db5 un
Qui est, a été le premier à valider, puis b, et enfin c.
L'exécution git rebase --interactive HEAD~2
vous donne un éditeur de texte avec
choisissez b76d157 b
choisissez a931ac7 c
# Rebase df23917..a931ac7 sur df23917
#
# Les commandes:
# p, choisir = utiliser commettre
# r, reformuler = utiliser la livraison, mais modifier le message de commit
# e, edit = utiliser commit, mais arrêtez de modification
# s, squash = utiliser la livraison, mais se fondre dans la précédente livraison
# f, de correction = comme "squash", mais jetez ce commit du message de journal
#
# Si vous supprimez une ligne de ici QUE COMMIT SERA PERDU.
# Toutefois, si vous supprimez tout, cela sera annulée.
#
Changement de b en pick
de squash
entraînera l'erreur que vous avez vu, mais si, au contraire, squash c en b en changeant le texte de
choisissez b76d157 b
s a931ac7 c
et enregistrez-cesser de votre éditeur, vous aurez une autre éditeur dont le contenu est
# C'est une combinaison de 2 commits.
# Le premier commit message:
b
# C'est le 2ème message de commit:
c
Lorsque vous enregistrez et quittez, le contenu du fichier édité en devenir message de validation de la nouvelle commettre:
$ git log --pretty=oneline
18fd73d3ce748f2a58d1b566c03dd9dafe0b6b4f b et c
df239176e1a2ffac927d8b496ea00d5488481db5 un