如何退出git log或git diff?

时间:2012-02-28 14:30:18

标签: git git-diff git-log

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

Git log shows (END) marker

当我遇到这个(END)字时,我无法弄清楚接下来要做什么。我无法输入任何命令,最终关闭当前的bash并打开另一个命令。如何输入我想要使用的下一个命令?

7 个答案:

答案 0 :(得分:1009)

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

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

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

答案 1 :(得分:35)

您可以按 q 退出。

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

答案 2 :(得分:29)

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

答案 3 :(得分:28)

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

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

答案 4 :(得分:24)

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

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

  1. q
  2. ž
  3. Ctrl + z
  4. P.S。:有时,对于某些人来说,其中一个选项似乎不起作用,而其他选项则有效。

答案 5 :(得分:8)

我想对提到CTRL + Z作为选项的评论给予一些赞誉。在一天结束时,它将依赖于您安装Git的系统以及配置为打开文本文件的程序(例如,较少与vim相比)。 CTRL + Z适用于Windows上的vim。

如果您在Windows环境中使用Git,则会有一些怪癖。只是有助于了解它们是什么。 (即Notepad vs. Nano等)。

答案 6 :(得分:3)

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

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