2012-06-29 14 views
5

sto correndo attraverso i laboratori gitimmersion.com e ogni volta che eseguire un: git hist --all comando sembra rompere terminale e lanciare questo:Cosa significa "~ (END)" quando viene visualizzato in un terminale?

~
~
~
~
(FINE)

e io non sono in grado di scrivere eventuali altri comandi. Quindi finisco per chiudere la finestra del terminale e ricominciare da capo.

Qualcuno sa perché questo accade e come risolverlo?

Grazie!

+3

digita 'q' per uscire da lì. – CharlesB

+0

'git hist' non è un comando, intendevi' git log'? – CharlesB

+2

Nel tutorial git immersion aliases 'git hist' a' git log --pretty = format: \ "% h% annuncio |% s% d [% an] \" --graph --date = short'. – vergenzt

risposta

7

Git pipe di output lungo in quello che viene chiamato un pager di default, che può rendere più facile visualizzare l'output se non si adatta su uno schermo. I caratteri ~ indicano che quelle linee non erano nell'output originale, ma le mostra in modo da poter scorrere verso il basso oltre il fondo (ovvero l'ultima riga di output può arrivare in cima allo schermo).

In genere è possibile utilizzare i tasti freccia per scorrere verso l'alto o verso il basso e uscire premendo q.


In alternativa, se non si vuole l'output in un pager, provate questo:

$ git --no-pager hist --all 
+0

q lo ha fatto! Grazie a tutto ciò che ha commentato. Dovrò provare a vedere se posso aggiungere il --no-pager al mio file .gitconfig come parte dell'alias. – sigmapi13

+0

@Fredrik ha avuto la soluzione, non è necessario aggiungerlo a un alias, a meno che non si voglia disabilitare il cercapersone per * solo * quel comando. Se lo vuoi fuori globalmente (o per il repository), esegui 'git config [--global] core.pager cat'. – vergenzt

2

Tratto da git help config

core.pager 
     The command that git will use to paginate output. Can be overridden with the GIT_PAGER environment variable. 
     Note that git sets the LESS environment variable to FRSX if it is unset when it runs the pager. One can 
     change these settings by setting the LESS variable to some other value. Alternately, these settings can be 
     overridden on a project or global basis by setting the core.pager option. Setting core.pager has no affect 
     on the LESS environment variable behaviour above, so if you want to override git’s default settings this 
     way, you need to be explicit. For example, to disable the S option in a backward compatible manner, set 
     core.pager to less -+$LESS -FRX. This will be passed to the shell by git, which will translate the final 
     command to LESS=FRSX less -+FRSX -FRX. 

Per saltare completamente un cercapersone :

git config --global core.pager cat 

Il flag -F su less è bello come dice a less di non visualizzare l'output se si adatta a una pagina.

Problemi correlati