如何退出git log或git diff

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

Git log显示(END)标记

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

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

523613 次浏览

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

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

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

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

您可以按q退出。

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

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

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

  1. :q
  2. :z
  3. Ctrl+z

P. S.:有时候,对某人来说,其中一个选项似乎不起作用,而对其他人来说,它起作用了。

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

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

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

git --no-pager log --oneline -n 10
  • --no-pager将遇到(END)字
  • -n 10将只显示最后10次提交
  • --oneline将显示提交消息,忽略作者,日期信息

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

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