2016-10-04 1 views
0

Je sais comment ajouter plusieurs lignes déjà dans mon message de commit git.Comment annuler votre saut de ligne d'ajout dans le message de validation Git?

J'utilise:

git commit -m " 
>Text here... 
>[Accidental Enter Key] 

Cependant, si j'appuyé par erreur sur la touche Entrée et je veux revenir à la ligne précédente? Y a-t-il un tel moyen?

+0

Avec quoi éditez-vous le message? –

+0

@AdamSchiavone J'utilise Git Bash. – Fritz

+0

Personnellement, quand cela m'arrive, je vais avec, puis je fais 'git commit --amend' pour corriger le message. – Mchl

Répondre

3

édition GNU readline farfelue parfois. Dans la situation où vous avez accidentellement frappé Entrez au milieu d'une chaîne entre guillemets dans Bash, appuyez simplement sur Ctrl-C. La partie de la ligne de commande avant la dernière Entrez est conservée dans l'historique. Vous venez de perdre la toute dernière ligne: tout ce que vous avez tapé depuis la dernière Entrez. Après ce Ctrl-C, vous pouvez rappeler la ligne et l'éditer. Cette fois-ci, vous pouvez déplacer le curseur dans la citation: vous pouvez espacer les parties multi-lignes non désirées pour les joindre en une seule ligne.

$ echo "abc 
> oops hit Enter, didn't mean to 
> oops, I did it again!^C 

Maintenant flèche:

$ echo "abc 
oops hit Enter, didn't mean to_ <- cursor is here (lost the last line) 
^ 
`- no > characters here now, and you can move the cursor left 
    to just before the "oops" and hit backspace to merge it with 
    the "abc. 

On ne sait pas pourquoi Readline est si incompatible de cette façon: pourquoi il y a le mode > pour continuer la ligne, mais l'édition normale lorsque vous en souvenez ; peut-être il y a un moyen de configurer loin cette bêtise > hostile. Je pense qu'il existe pour les débutants: l'invite > est un signal fort et clair indiquant "hé, vous avez une citation déséquilibrée ou quelque chose, et donc je vous invite à plus d'entrée". Pourtant, ce n'est pas une raison pour ne pas permettre à l'utilisateur de revenir au moins passé le >.

En tout cas, dans cette situation, vous pouvez toujours compléter le commettras avec le message non intentionnel, puis immédiatement faire une

$ git commit --amend -m "corect message" # oops 
$ git commit --amend -m "correc message" # darn 
$ git commit --amend -m "correct message!" 

Enfin, obtenir un clavier qui ne dispose pas d'une petite touche backspace, et une énorme touche Entrée juste en dessous! Ces claviers idiotes sont la principale raison pour laquelle vous frappez accidentellement Enter: précisément lorsque vous voulez revenir en arrière pour réparer quelque chose qui ne va pas. Imaginez si les pédales d'accélérateur étaient juste à côté du frein!

+1

J'ai essayé votre première suggestion avec Ctrl + C mais cela annule tout dans Git Bash. Mais merci! Je pense que je dois vraiment faire attention à ce sujet. Mec, j'aurais aimé qu'il y ait un moyen plus facile de revenir à la ligne précédente. Quoi qu'il en soit, j'apprécie vraiment votre réponse et vos suggestions. À la vôtre, Kaz! – Fritz

0

utiliser juste

git commit 

Et il va ouvrir un éditeur de texte (généralement vim) pour votre message de commit.

Reference

+0

Notez votre suggestion, monsieur! Je suppose qu'il n'y a pas de manière spécifique de réaliser ce que je veux qui est déjà natif dans Git Bash. – Fritz