Come uscire da un elenco di "stato git" in un terminale?


342

Sono nuovo di Git e del terminale. Come posso uscire da una modalità di elenco generata dal git statuscomando?

Risposte:


503

Devo indovinare qui, ma probabilmente git sta eseguendo il suo output nel tuo programma $ PAGER, probabilmente lesso more. In entrambi i casi, la digitazione qdovrebbe farti uscire.


10
Il pager utilizzato da git è selezionato dalla core.pagervariabile di configurazione (se impostata), quindi dalla variabile di ambiente GIT_PAGER, quindi dalla variabile di ambiente PAGER, quindi lesscome fallback.
Jakub Narębski,

2
Grazie ancora, la maggior parte delle volte ricominciavo da capo. Sono anche un novizio ..
Sayari,

4
Grazie! Questo è stato un regalo di Zeus in alto. Mi hai appena salvato una buona ora di Google.
Padawan,

153
:q

è un comando meno , in realtà. Utilizza gli stessi comandi di vi .


9
Se è inferiore, non sono necessari due punti (:). Stai pensando se vi!
Carl Smotricz,

2
Se :q!
ricevi l'

1
:qera quello che mi serviva, anche se il terminale era all'interno di less.exe, ma q non ha fatto nulla. Grazie @RageZ
Chris Marisic,

mi hai salvato la vita.
AKJ,

106

Digita 'q' e farà il lavoro.

Ogni volta che ti trovi al terminal e hai una situazione simile, tieni presente anche di provare a digitare "esci", "esci" e la combinazione di tasti "Ctrl + C".


4
Stavo usando 'Ctrl + Z' e ho finito con una tonnellata di processi git non terminati quando ho corso ps -ax. Non lo sapevo q.
brokenindexfinger

3
Ctrl + Z mette le attività in background, quindi ha senso. Personalmente non sono riuscito a ottenere Ctrl + C per chiuderlo. q funziona.
Amalgovinus,

Ctrl + C e Ctrl + X non hanno funzionato, solo :qsono riuscito a uscire per me.
Chris Marisic,

Ho digitato yes a una domanda che mi ha chiesto di digitare yes o no. Ho premuto q, esce molti altri tasti e nessuno di loro ha funzionato fino a quando non ho CTRL + Cpotuto attraversarlo e non me ne sono liberato!
Mohammed Mishal

15

per windows:

Ctrl + q e c per uscire dalla situazione di marcia.


13

qo SHIFT+ qfarà il trucco. Questo ti porterà fuori molte sessioni pagina di scorrimento estese come git status, git show HEAD, git diffecc Questo non uscirà finestra o terminare la sessione.


7

La mia combinazione preferita è Gq, che stampa tutte le differenze e poi esce.

Puoi digitare hper mostrare i comandi della guida per interagire con less, che stampa ciò sulla console:

                   SUMMARY OF LESS COMMANDS

      Commands marked with * may be preceded by a number, N.
      Notes in parentheses indicate the behavior if N is given.

  h  H                 Display this help.
  q  :q  Q  :Q  ZZ     Exit.
 ---------------------------------------------------------------------------

                           MOVING

  e  ^E  j  ^N  CR  *  Forward  one line   (or N lines).
  y  ^Y  k  ^K  ^P  *  Backward one line   (or N lines).
  f  ^F  ^V  SPACE  *  Forward  one window (or N lines).
  b  ^B  ESC-v      *  Backward one window (or N lines).
  z                 *  Forward  one window (and set window to N).
  w                 *  Backward one window (and set window to N).
  ESC-SPACE         *  Forward  one window, but don't stop at end-of-file.
  d  ^D             *  Forward  one half-window (and set half-window to N).
  u  ^U             *  Backward one half-window (and set half-window to N).
  ESC-)  RightArrow *  Left  one half screen width (or N positions).
  ESC-(  LeftArrow  *  Right one half screen width (or N positions).
  F                    Forward forever; like "tail -f".
  r  ^R  ^L            Repaint screen.
  R                    Repaint screen, discarding buffered input.
        ---------------------------------------------------
        Default "window" is the screen height.
        Default "half-window" is half of the screen height.
 ---------------------------------------------------------------------------

                          SEARCHING

  /pattern          *  Search forward for (N-th) matching line.
  ?pattern          *  Search backward for (N-th) matching line.
  n                 *  Repeat previous search (for N-th occurrence).
  N                 *  Repeat previous search in reverse direction.
  ESC-n             *  Repeat previous search, spanning files.
  ESC-N             *  Repeat previous search, reverse dir. & spanning files.
  ESC-u                Undo (toggle) search highlighting.
        ---------------------------------------------------
        Search patterns may be modified by one or more of:
        ^N or !  Search for NON-matching lines.
        ^E or *  Search multiple files (pass thru END OF FILE).
        ^F or @  Start search at FIRST file (for /) or last file (for ?).
        ^K       Highlight matches, but don't move (KEEP position).
        ^R       Don't use REGULAR EXPRESSIONS.
 ---------------------------------------------------------------------------

                           JUMPING

  g  <  ESC-<       *  Go to first line in file (or line N).
  G  >  ESC->       *  Go to last line in file (or line N).
  p  %              *  Go to beginning of file (or N percent into file).
  t                 *  Go to the (N-th) next tag.
  T                 *  Go to the (N-th) previous tag.
  {  (  [           *  Find close bracket } ) ].
  }  )  ]           *  Find open bracket { ( [.
  ESC-^F <c1> <c2>  *  Find close bracket <c2>.
  ESC-^B <c1> <c2>  *  Find open bracket <c1> 
        ---------------------------------------------------

5

prima di tutto devi impostare le preferenze di fine linea in termnial

git config --global core.autocrlf input
git config --global core.safecrlf true

Quindi puoi usare :q


1
Una nota per gli utenti Windows: L'aggiunta di queste righe ha comportato l'impossibilità di aggiungere file al tracciamento (fatale: CRLF sarebbe sostituito da LF in README.md). Quindi, se stai usando Windows, aggiungi git config --global core.autocrlf trueinvece, farà il lavoro.
ConcurrentHashMap

4

È possibile disabilitare il cercapersone per i comandi che non riconoscono il --no-pagerflag.

git config --global pager.<command> false

Disattivo per gli alias di registro e imposto la quantità specifica da restituire.

git config --global pager.log false

3

Prima di premere i comandi di uscita (q, ecc.) Controlla la lingua di input corrente: se non è inglese, i comandi potrebbero non funzionare.




1

Se stai affrontando questo?

inserisci qui la descrizione dell'immagine A volte è possibile che mentre scrivi in ​​Gitbash entri in> e non riesci proprio a uscirne.
Succede abbastanza spesso mentre scrivo 'per errore in Gitbash (vedi nell'immagine).

Come risolverlo su Mac?

controllo + C

Non l'ho controllato su Windows. Ma se lo fa, per favore modificalo nella mia risposta.


0

Se sei su git bash prova a usare exit;

Ho provato a usare q o ctrl + q ma non hanno funzionato su bash.


-4

exitfatto per me. I miei risultati dopo aver premuto Invio;

my-mac:Car Game mymac$ exit
logout
Saving session...
...copying shared history...
...saving history...truncating history files...
    ...completed.
[Process completed]

è come chiudere l'intera finestra, la domanda chiede di uscire dalla sessione git come in ssh
yosemite_k
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.