22
0
Fork 0

Quitter l'éditeur de texte sans que Git n'exécute l'action liée

This commit is contained in:
jlecour 2018-08-03 10:55:22 +02:00
parent 586be367e7
commit c3dc3ed889
1 changed files with 7 additions and 1 deletions

View File

@ -1008,4 +1008,10 @@ conflicts = !sh -c 'git status -sb | grep ^UU | sed "s/UU\\ //"'
resolve = !sh -c 'git conflicts && $EDITOR $(git conflicts) +\"/<<<<\"'
# ouvre les fichiers en conflit dans un éditeur (compatible Vim), positionné au bon endroit
~~~
~~~
### Quitter l'éditeur de texte sans que Git n'exécute l'action liée
Lorsque Git délègue à l'éditeur de texte la rédaction du message de commit (ou autre édition), si l'éditeur quitte avec un code de sortie 0, alors Git considère que tout va bien et exécute son action initiale (faire un commit par exemple). Si on veut que Git ne fasse pas cette action, il suffit de faire quitter l'éditeur avec un code de sortie > 0. Avec Vim, ça se fait avec la commande `:cq`.
Exemple concret de cette situation : on veut amender un commit auquel on a ajouté (ou retiré) certains éléments, mais au moment de rédiger le message on se rend compte qu'on en a trop ajouté (ou retiré). Un simple `:q!` dans Vim ne validera pas le message de commit mais validera le commit lui-même. C'est là qu'on peut sortir de Vim et annuler l'action de Git avec `:cq`.