1269 votes

Comment quitter git log ou git diff ?

J'essaie d'apprendre Git avec l'aide de Immersion Git .
Il y a une chose qui me frustre à chaque fois que j'utilise git log ou git diff :

Git log shows (END) marker

Je n'arrive pas à savoir ce qu'il faut faire quand je rencontre ce (END) mot.

Je ne peux pas taper de commandes, et je finis par fermer la fenêtre Bash actuelle pour en ouvrir une autre. Comment puis-je taper la prochaine commande que je veux utiliser ?

43 votes

Bon sang, cette question était assez difficile à trouver sur Google, j'allais déjà poser la mienne. Merci à vous et à larsmans !

15 votes

Même après avoir utilisé q+Enter pour quitter, le <END> réapparaît chaque fois que je recommence à taper. Cela mange mon premier caractère. Par la suite, je suis capable de taper la commande que je veux. Cependant, je préférerais ne pas avoir ce comportement du tout. Je suis sous Windows. Des suggestions ?

11 votes

Utilisateurs de Windows : vous devez d'abord taper q+enter. Une fois que vous aurez échappé avec cntl+c, vous serez bloqué dans cette boucle bizarre. Utilisez UNIQUEMENT q+enter pour sortir.

1940voto

larsmans Points 167484

Vous êtes dans le less qui rend la sortie de git log défilable.

Type q pour quitter cet écran. Tapez h pour obtenir de l'aide.

Si vous ne voulez pas lire la sortie dans un pager et souhaitez qu'elle soit simplement imprimée sur le terminal, définissez la variable d'environnement suivante GIT_PAGER à cat ou mettre core.pager à cat (exécuter git config --global core.pager cat ).

2 votes

J'ai continué à appuyer sur q : comme on le ferait pour sortir de vi ! Merci !

3 votes

@Affan : Pour quitter vi, utilisez :q . q: ouvre une fenêtre de commande qui peut être quittée avec :q (mais cela n'arrêtera pas vi alors).

14 votes

La façon la plus simple d'éviter le pager juste une fois : "git log | cat". J'aime aussi faire "git log > /tmp/foo" et ensuite afficher /tmp/foo dans l'éditeur de mon choix. Pour une raison quelconque, cela fonctionne mieux pour moi.

139voto

shrexchauhan Points 757

En fait, il y a trois façons de le faire, précisément.

Tapez l'une des 3 commandes suivantes.

  1. : q
  2. : z ou
  3. Ctrl + z

P.S. : Parfois, pour quelqu'un, l'une de ces options ne semble pas fonctionner et pour d'autres, elle fonctionne.

52voto

Trickster Points 1441

Ajoutez l'alias suivant dans le fichier .bashrc

git --no-pager log --oneline -n 10
  • --no-pager rencontrera le mot (END)
  • -n 10 ne montrera que les 10 derniers commits
  • --oneline affichera le message de validation, ignorera l'auteur et les informations sur la date.

4 votes

git --no-pager c'est ce que je cherchais, merci !

0 votes

Vous pouvez également faire GIT_PAGER=cat git diff à utiliser cat temporairement, ou, à défaut, l'enregistrer dans votre environnement shell.

50voto

seanhodges Points 8005

Vous pouvez appuyer sur q pour sortir.

git hist utilise un outil de pagination qui permet de faire défiler les résultats de haut en bas avant de revenir à la console.

36voto

Benjamin Bannier Points 11953

Le site END provient du pager utilisé pour afficher le journal (vous êtes à ce moment-là toujours à l'intérieur de celui-ci). Type q pour le quitter.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X