Как выйти из списка «git status» в терминале?


Ответы:


504

Я должен догадаться здесь, но git, вероятно, выполняет вывод в вашу программу $ PAGER, вероятно, lessили more. В любом случае, печатание qдолжно вывести вас из себя.


10
Пейджер, используемый git, выбирается core.pagerпеременной конфигурации (если она задана), затем переменной среды GIT_PAGER, затем переменной среды PAGER, lessа затем резервной.
Якуб Наребски

2
Еще раз спасибо. Большую часть времени я начинал все сначала. Я также новичок ..
Саяри

4
Спасибо! Это был подарок от Зевса на высоте. Вы только что спасли мою задницу добрым часом Гуглинга.
падаван

154
:q

это на самом деле меньше команд. Он использует те же команды, что и vi .


9
Если оно меньше, то двоеточие (:) не требуется. Ты думаешь, если ви!
Карл Смотриц

2
Если вы получаете сообщение E37: Нет записи с момента последнего изменения (добавьте! Для переопределения) , делайте то, что он говорит, и используйте:q!
Noumenon

1
:qбыло то, что мне нужно, хотя терминал был внутри less.exe, просто q ничего не делал. Спасибо @RageZ
Крис Марисич

Вы спасли мою жизнь.
AKJ

это сработало для macOS
Кедар Сукеркар

106

Напечатайте 'q', и это сделает работу.

Всякий раз, когда вы находитесь в терминале и сталкиваетесь с подобным затруднением, имейте в виду также попытаться набрать 'выход', 'выход', а также комбинацию клавиш отмены 'Ctrl + C'.


4
Я использовал 'Ctrl + Z' и в итоге запустил кучу неопределенных процессов git ps -ax. Не знал о q.
brokenindexfinger

3
Ctrl + Z помещает задачи в фоновый режим, так что это имеет смысл. Я лично не мог получить Ctrl + C, чтобы закрыть его. д работает.
Амальговинус

Ctrl + C и Ctrl + X не сработали, только :qсмог выйти за меня.
Крис Марисик,

Я набрал «да» на вопрос, который попросил меня напечатать «да» или «нет». Я нажал q, escи многие другие клавиши, и ни одна из них не работала, пока я не смогу перейти, CTRL + Cи это меня вырвало из этого!
Мухаммед Мишал


13

qили SHIFT+ qсделает свое дело. Это поможет вам из многих обширных скроллинга страницы сессий , как git status, git show HEAD, и git diffт.д. Это не будет выходить окно или завершить сеанс.


7

Я предпочитаю комбо Gq, которое печатает все различия и затем выходит.

Вы можете напечатать, hчтобы показать справочные команды для взаимодействия с less, который выводит это на консоль:

                   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

Прежде всего, вам нужно настроить окончание строки в терминале.

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

Тогда вы можете использовать :q


1
Одно замечание для пользователей Windows: для меня добавление этих строк привело к невозможности добавления файлов для отслеживания (фатально: CRLF будет заменен на LF в README.md). Так что если вы используете Windows, пожалуйста, добавьте git config --global core.autocrlf trueвместо этого, он будет делать эту работу.
ConcurrentHashMap

4

Вы можете отключить пейджер для команд, которые не распознают --no-pagerфлаг.

git config --global pager.<command> false

Я отключаю для псевдонимов журнала и устанавливаю определенное количество для возврата.

git config --global pager.log false

3

Перед нажатием команд выхода (q и т. Д.) Проверьте текущий язык ввода: если он не английский, команды могут не работать.




1

Если вы сталкиваетесь с этим?

введите описание изображения здесь Иногда возможно, что во время написания в Gitbash вы попадаете в> и просто не можете выйти из этого.
Это случается со мной довольно часто, когда я печатаю по ошибке в Gitbash (см. Изображение).

Как решить это в Mac?

контроль + C

Я не проверял это в Windows. Но если это так, пожалуйста, отредактируйте это в моем ответе.


0

Если вы находитесь на git bash, попробуйте использовать exit;

Я пытался использовать q или ctrl + q, но они не работали на bash.


-4

exitсделал это для меня. Мои результаты после нажатия возврата;

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

это то же самое, что закрытие всего окна, вопрос требует выхода из git-сессии, как в ssh
yosemite_k
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.