Jak wyjść z listy „status git” w terminalu?

341

Jestem nowy w Git i terminalu. Jak mogę wyjść z trybu wyświetlania wygenerowanego przez git statuspolecenie?

Luis Martins
źródło

Odpowiedzi:

502

Muszę zgadywać tutaj, ale git prawdopodobnie uruchamia swoje wyjście w programie $ PAGER, prawdopodobnie lesslub more. W obu przypadkach pisanie qpowinno Cię wyciągnąć.

Carl Smotricz
źródło
10
Pager używany przez git jest wybierany przez core.pagerzmienną konfiguracyjną (jeśli jest ustawiona), następnie zmienną środowiskową GIT_PAGER, następnie zmienną środowiskową PAGER, a następnie lessjako rezerwową.
Jakub Narębski
2
Jeszcze raz dziękuję. Przez większość czasu zaczynałem od nowa. Jestem również nowicjuszem ..
Sayari,
4
Dziękuję Ci! To był prezent od Zeusa na wysokości. Właśnie uratowałeś mi tyłek dobrą godzinę Googlingu.
Padawan
152
:q

tak naprawdę to mniej rozkazu. Używa tych samych poleceń, co vi .

RageZ
źródło
9
Jeśli jest mniej, to nie jest potrzebny dwukropek (:). Myślisz, jeśli vi!
Carl Smotricz
2
Jeśli otrzymujesz błąd E37: Brak zapisu od ostatniej zmiany (dodaj!:q!
Zastąpić
1
:qbyło to, co było dla mnie potrzebne, mimo że terminal był w pliku less.exe, po prostu q nic nie zrobił. Dzięki @RageZ
Chris
Uratowałeś mi życie.
AKJ
106

Wpisz „q”, a wykona zadanie.

Ilekroć znajdujesz się w terminalu i masz podobne problemy, pamiętaj również o wpisaniu „quit”, „exit” oraz kombinacji klawiszy „Ctrl + C”.

allesklar
źródło
4
Używałem „Ctrl + Z”, a kiedy uruchomiłem, skończyło się z mnóstwem nieskończonych procesów git ps -ax. Nie wiedziałem o tym q.
brokenindexfinger
3
Ctrl + Z umieszcza zadania w tle, więc ma to sens. Osobiście nie mogłem zmusić Ctrl + C do zamknięcia. q działa.
Amalgovinus
Ctrl + C i Ctrl + X nie działały, tylko :qudało mi się wyjść.
Chris Marisic
Wpisałem „tak” w pytaniu, które wymagało ode mnie wpisania „tak” lub „nie”. Nacisnąłem q, esca wiele innych klawiszy i żaden z nich nie zadziałał, dopóki nie przeszedłem CTRL + Ci to mnie wyciągnęło!
Mohammed Mishal
15

dla Windowsa :

Ctrl + q ic, aby wyjść z bieżącej sytuacji.

gem007bd
źródło
13

qlub SHIFT+ qzałatwi sprawę. To będzie cię z wielu rozległych sesji strona przewijania jak git status, git show HEAD, git diffitd. To nie będzie zamknąć okno lub zakończyć sesję.

SovietFrontier
źródło
7

Moją preferowaną kombinacją jest Gq, która drukuje wszystkie różnice, a następnie wychodzi.

Możesz wpisać, haby wyświetlić komendy pomocy dotyczące interakcji z less, która wypisze to na konsolę:

                   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> 
        ---------------------------------------------------
Blake Regalia
źródło
5

przede wszystkim musisz ustawić preferencje zakończenia linii na terminarzu

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

Następnie możesz użyć :q

Jamanius
źródło
1
Jedna uwaga dla użytkowników systemu Windows: dla mnie dodanie tych wierszy spowodowało niemożność dodania plików do śledzenia (fatal: CRLF zostałby zastąpiony przez LF w README.md). Więc jeśli używasz systemu Windows, dodaj git config --global core.autocrlf truezamiast tego, wykona zadanie.
ConcurrentHashMap
4

Możesz wyłączyć pager dla poleceń, które nie rozpoznają --no-pagerflagi.

git config --global pager.<command> false

Wyłączam aliasy dziennika i ustawiam określoną ilość do zwrócenia.

git config --global pager.log false
James Morgan
źródło
3

Przed naciśnięciem komend wyjścia (q itp.) Sprawdź bieżący język wprowadzania: jeśli nie jest, komendy angielskie mogą nie działać.

papandreus
źródło
3

Crt + c działa na systemie Windows! użytkownik1852392

PythonLearner
źródło
3

Spróbuj tych kroków w git bash, może ci to pomóc.

  1. CTRL + C
  2. :qa!
Md. Rejaul Karim
źródło
1

Jeśli masz do czynienia z tym?

wprowadź opis zdjęcia tutaj Czasami jest możliwe, że pisząc w Gitbash, wchodzisz w> i po prostu nie możesz się z tego wydostać.
Zdarza się to dość często, gdy przez pomyłkę wpisuję „w Gitbash” (patrz obrazek).

Jak rozwiązać ten problem na komputerze Mac?

kontrola + C.

Nie sprawdziłem tego w systemie Windows. Ale jeśli tak, proszę zmodyfikuj to w mojej odpowiedzi.

Rohit Singh
źródło
0

Jeśli jesteś na git bash, spróbuj wyjść;

Próbowałem użyć q lub ctrl + q, ale nie działały na bash.

Govin
źródło
-4

exitzrobił to dla mnie. Moje wyniki po naciśnięciu klawisza return;

my-mac:Car Game mymac$ exit
logout
Saving session...
...copying shared history...
...saving history...truncating history files...
    ...completed.
[Process completed]
Ronny Kibet
źródło
to jest tak samo jak zamknięcie całego okna, pytanie prosi o wyjście z sesji git jak w ssh
yosemite_k