如何退出git log或git diff?

Wer*_*eta 789 git git-diff git-log

我正试着在Git Immersion的帮助下学习Git .有一两件事,每当我使用让我很沮丧git loggit diff:

Git日志显示(END)标记

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

Fre*_*Foo 1179

你在less程序中,它使输出git log可滚动.

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

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

  • q:是我在Win 7中所需要的.只是Q导致了奇怪的行为,它在命令提示符和这个vi或伪win-vi之间不断反弹. (11认同)
  • 最简单的方法是避免寻呼机一次:"git log | cat".我也想做"git log>/tmp/foo",然后在我选择的编辑器中查看/ tmp/foo.出于某种原因,这对我来说效果更好. (9认同)
  • @Affan:要退出vi,请使用`:q`。`q:`打开一个命令窗口,可以使用`:q`退出(但是这不会退出vi)。 (3认同)
  • 我的`.gitconfig`中有`core.pager = cat`,所以git命令只打印输出,除非我通过`less`显式地输出它. (3认同)
  • 我一直按q:就像离开vi一样!谢谢! (2认同)

sea*_*ges 36

你可以按q退出.

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


J4c*_*4cK 32

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

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

  • git --no-pager`是我一直在寻找的东西,谢谢! (2认同)

小智 31

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

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

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

PS:有时候,对于某些人来说,这些选项中的一个似乎不起作用,对其他人来说也是如此.


Ben*_*ier 30

END来自用来显示日志(你是在那一刻还在里面呢)寻呼机.键入q退出它.


Jer*_*emy 8

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

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


Hel*_*bye 5

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

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