1143

我正在尝试在Git Immersion的帮助下学习 Git 。
每当我使用git logor时,都会有一件事情让我感到沮丧git diff

Git 日志显示 (END) 标记

当我遇到这个(END)词时,我不知道下一步该怎么做。

我无法输入任何命令,最终我关闭了当前的 Bash 窗口并打开了另一个。如何输入我想使用的下一个命令?

4

7 回答 7

1752

您在less程序中,这使得输出git log可滚动。

键入q以退出此屏幕。键入h以获得帮助。

如果您不想在寻呼机中读取输出并希望将其打印到终端,请将环境变量定义GIT_PAGERcat或设置core.pagercat(执行git config --global core.pager cat)。

于 2012-02-28T14:33:13.917 回答
96

实际上,确切地说,有三种方法可以做到这一点。

键入以下 3 个命令中的任何一个。

  1. q
  2. z
  3. Ctrl + z

PS:有时,对于某些人来说,其中一个选项似乎不起作用,而对其他人来说却有效。

于 2015-08-31T20:35:19.407 回答
45

您可以按q退出。

git hist正在使用寻呼机工具,因此您可以在返回控制台之前上下滚动结果。

于 2012-02-28T14:35:00.700 回答
43

在 .bashrc 文件中添加以下别名

git --no-pager log --oneline -n 10
  • --no-pager会遇到(END)字
  • -n 10将仅显示最后 10 次提交
  • --oneline将显示提交信息,忽略作者、日期信息
于 2016-01-04T08:41:51.370 回答
33

来自用于显示日志的END寻呼机(此时您仍在其中)。键入q以退出它。

于 2012-02-28T14:33:20.200 回答
10

我想对提到 CTRL + Z 作为选项的评论表示赞赏。归根结底,这将取决于您安装了 Git 的系统以及配置了哪些程序来打开文本文件(例如,less 与 vim)。CTRL + Z 适用于 Windows 上的 vim。

如果您在 Windows 环境中使用 Git,就会有一些怪癖。只是有助于了解它们是什么。(即记事本与 Nano 等)。

于 2015-11-17T19:50:02.443 回答
5

在这种情况下,正如粗鲁地建议的那样,键入q是退出的预期方式git log(与大多数其他寻呼机或使用寻呼机的应用程序一样)。

但是通常,如果您只想中止当前正在执行的命令,您可以尝试ctrl+c(但似乎不适用于git log)或ctrl+z(尽管在bash中,ctrl-z将冻结当前正在运行的前台进程,然后可以将其解冻为使用命令的后台进程bg)。

于 2016-03-08T14:08:36.930 回答