Wie verlasse ich eine 'Git Status' Liste in einem Terminal?


339

Ich bin neu bei Git und dem Terminal. Wie kann ich einen vom git statusBefehl generierten Auflistungsmodus beenden ?

Antworten:


501

Ich muss hier raten, aber git führt wahrscheinlich seine Ausgabe in Ihr $ PAGER-Programm aus, wahrscheinlich lessoder more. In beiden Fällen sollte das Tippen qSie rausholen.


10
Der von git verwendete Pager wird von der core.pagerKonfigurationsvariablen (falls festgelegt), der Umgebungsvariablen GIT_PAGER, der Umgebungsvariablen PAGER und dann lessals Fallback ausgewählt.
Jakub Narębski

2
Nochmals vielen Dank. Die meiste Zeit habe ich von vorne angefangen. Bin auch ein Neuling ..
Sayari

4
Vielen Dank! Dies war ein Geschenk von Zeus in der Höhe. Du hast meinem Arsch gerade eine gute Stunde Googeln erspart.
Padawan

152
:q

Das ist eigentlich ein weniger Befehl. Es verwendet die gleichen Befehle wie vi .


9
Wenn es weniger ist, wird kein Doppelpunkt (:) benötigt. Du denkst wenn vi!
Carl Smotricz

2
Wenn Sie den Fehler E37: Kein Schreiben seit der letzten Änderung (Hinzufügen! Zum Überschreiben) erhalten , tun Sie, was er sagt, und verwenden Sie:q!
Noumenon

1
:qwar das, was ich brauchte, obwohl sich das Terminal in weniger befand. Danke @RageZ
Chris Marisic

du hast mein Leben gerettet.
AKJ

106

Geben Sie 'q' ein und es wird die Arbeit erledigen.

Wenn Sie sich am Terminal befinden und eine ähnliche Situation haben, denken Sie auch daran, "quit", "exit" sowie die Abbruch-Tastenkombination "Strg + C" einzugeben.


4
Ich habe 'Strg + Z' verwendet und beim Ausführen eine Menge nicht abgeschlossener Git-Prozesse erhalten ps -ax. Wusste nichts davon q.
gebrochener Indexfinger

3
Strg + Z stellt Aufgaben in den Hintergrund, sodass dies sinnvoll ist. Ich persönlich konnte Strg + C nicht dazu bringen, es zu schließen. q funktioniert.
Amalgovinus

Strg + C und Strg + X haben beide nicht funktioniert, konnten nur :qfür mich raus.
Chris Marisic

Ich habe Ja zu einer Frage eingegeben, bei der ich Ja oder Nein eingegeben habe. Ich drückte q, escund viele andere Tasten und keiner von ihnen arbeitete , bis ich kann überCTRL + C und es hat mich von it out!
Mohammed Mishal

15

für Windows :

Strg + q und c zum Verlassen der laufenden Situation.


13

qoder SHIFT+ qmacht den Trick. Diese erhalten Sie von vielen umfangreichen Seite Scrollen Sitzungen wie git status, git show HEAD, git diffusw. Dies wird nicht Ihre Fenster verlassen oder die Sitzung beenden.


7

Meine bevorzugte Kombination ist Gq , die alle Unterschiede druckt und dann beendet.

Sie können hFolgendes eingeben, um die Hilfebefehle für die Interaktion mit weniger anzuzeigen, die auf der Konsole gedruckt werden:

                   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

Zunächst müssen Sie die Einstellungen für das Zeilenende im Termnial einrichten

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

Dann können Sie verwenden :q


1
Ein Hinweis für Windows-Benutzer: Für mich führte das Hinzufügen dieser Zeilen dazu, dass Dateien nicht zum Tracking hinzugefügt werden konnten (schwerwiegend: CRLF würde in README.md durch LF ersetzt). Wenn Sie also Windows verwenden, fügen Sie git config --global core.autocrlf truestattdessen hinzu, es wird den Job erledigen.
ConcurrentHashMap

4

Sie können den Pager für Befehle deaktivieren, die das --no-pagerFlag nicht erkennen .

git config --global pager.<command> false

Ich deaktiviere für Protokoll-Aliase und setze eine bestimmte Menge für die Rückgabe.

git config --global pager.log false

3

Überprüfen Sie vor dem Drücken der Exit-Befehle (q usw.) die aktuelle Eingabesprache: Wenn dies nicht Englisch ist, funktionieren Befehle möglicherweise nicht.




1

Wenn Sie damit konfrontiert sind?

Geben Sie hier die Bildbeschreibung ein Manchmal ist es möglich, dass Sie beim Schreiben in Gitbash in> geraten und einfach nicht mehr herauskommen können.
Es passiert bei mir ziemlich oft, wenn ich versehentlich in Gitbash tippe (siehe im Bild).

Wie kann man das in Mac lösen?

Kontrolle + C.

Ich habe es in Windows nicht überprüft. Aber wenn doch, bearbeiten Sie das bitte in meiner Antwort.


0

Wenn Sie auf der Git-Bash sind, versuchen Sie es mit exit.

Ich habe versucht, q oder Strg + q zu verwenden, aber sie haben bei Bash nicht funktioniert.


-4

exithabe es für mich getan. Meine Ergebnisse nach dem Drücken der Eingabetaste;

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

Dies ist das gleiche wie das Schließen des gesamten Fensters. Die Frage fragt,
ob die
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.