如何退出git log或git diff?

我正在Git Immersion的帮助下学习Git。 当我使用git log或者git diff时候,有一件事情让我感到沮丧:

Git日志显示(结束)标记

当我遇到这个(END)单词时,我无法弄清楚接下来要做什么。 我不能input任何命令,最后closures当前的bash并打开另一个。 如何input我想要使用的下一个命令?

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

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

如果你不想读一个传呼机的输出,并希望它只是打印到terminal定义环境variablesGIT_PAGER cat或设置core.pager cat (执行git config --global core.pager cat )。

您可以按q退出。

git hist正在使用一个寻呼机工具,所以你可以在返回到控制台之前上下滚动结果。

END来自用于显示日志的寻呼机(您在那一刻仍然在里面)。 键入q退出它。

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

 git --no-pager log --oneline -n 10 
  • --no-pager将遇到(完)字
  • -n 10将只显示最后的10个提交
  • --oneline会显示提交信息,忽略作者,date信息

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

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

  1. :q
  2. 位:Z
    要么
  3. Ctrl + z

PS:有时候,对于某个人来说,其中一个选项似乎不起作用,而另外一个则起作用。

我想对CTRL + Z作为选项的评论给予一些赞誉。 在这一天结束的时候,将取决于你安装了哪个系统,以及哪个程序被configuration为打开文本文件(比如vim和vim)。 CTRL + Z适用于Windows上的vim。

如果你在Windows环境中使用Git,有一些怪癖。 只是有助于知道他们是什么。 (即记事本与纳米等)。

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

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