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

342

Я новичок в Git и терминале. Как выйти из режима листинга, сгенерированного git statusкомандой?

Луис Мартинс
источник

Ответы:

504

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

Карл Смотриц
источник
10
Пейджер, используемый git, выбирается core.pagerпеременной конфигурации (если она задана), затем переменной среды GIT_PAGER, затем переменной среды PAGER, lessа затем резервной.
Якуб Наребски
2
Еще раз спасибо. Большую часть времени я начинал все сначала. Я также новичок ..
Саяри
4
Спасибо! Это был подарок от Зевса на высоте. Вы только что спасли мою задницу добрым часом Гуглинга.
падаван
154
:q

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

RageZ
источник
9
Если оно меньше, то двоеточие (:) не требуется. Ты думаешь, если ви!
Карл Смотриц
2
Если вы получаете сообщение E37: Нет записи с момента последнего изменения (добавьте! Для переопределения) , делайте то, что он говорит, и используйте:q!
Noumenon
1
:qбыло то, что мне нужно, хотя терминал был внутри less.exe, просто q ничего не делал. Спасибо @RageZ
Крис Марисич
Вы спасли мою жизнь.
AKJ
это сработало для macOS
Кедар Сукеркар
106

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

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

allesklar
источник
4
Я использовал 'Ctrl + Z' и в итоге запустил кучу неопределенных процессов git ps -ax. Не знал о q.
brokenindexfinger
3
Ctrl + Z помещает задачи в фоновый режим, так что это имеет смысл. Я лично не мог получить Ctrl + C, чтобы закрыть его. д работает.
Амальговинус
Ctrl + C и Ctrl + X не сработали, только :qсмог выйти за меня.
Крис Марисик,
Я набрал «да» на вопрос, который попросил меня напечатать «да» или «нет». Я нажал q, escи многие другие клавиши, и ни одна из них не работала, пока я не смогу перейти, CTRL + Cи это меня вырвало из этого!
Мухаммед Мишал
15

для окон:

Ctrl + q и c для выхода из текущей ситуации.

gem007bd
источник
13

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

SovietFrontier
источник
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

Jamanius
источник
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 и т. Д.) Проверьте текущий язык ввода: если он не английский, команды могут не работать.

papandreus
источник
3

Crt + c работает для Windows! user1852392

PythonLearner
источник
3

Пожалуйста, попробуйте эти шаги в git bash, это может помочь вам.

  1. CTRL + C
  2. :qa!
Г-н Реджаул Карим
источник
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