我正在尝试通过Git Immersion来学习Git。
每当我使用
每当我使用
git log
或git diff
时,都有一件让我感到沮丧的事情:
当我遇到这个(END)
字样时,我不知道下一步该怎么做。
我不能输入任何命令,最后只能关闭当前的Bash窗口然后打开另一个窗口。请问我如何输入下一个想要使用的命令呢?
git log
或git diff
时,都有一件让我感到沮丧的事情:
当我遇到这个(END)
字样时,我不知道下一步该怎么做。
我不能输入任何命令,最后只能关闭当前的Bash窗口然后打开另一个窗口。请问我如何输入下一个想要使用的命令呢?
您正在使用less
程序,这可以使git log
的输出可以滚动显示。
输入q以退出此屏幕。 输入h以获取帮助信息。
如果您不想在分页器中阅读输出,并希望它只打印到终端上,请将环境变量GIT_PAGER
定义为cat
或将core.pager
设置为cat
(执行git config --global core.pager cat
)。
:q
。q:
打开一个命令窗口,可以用:q
退出(但这不会退出vi)。 - Benjamin Bannier.gitconfig
中设置了core.pager=cat
,因此git命令会直接打印它们的输出,除非我显式地通过管道传输到less
。 - Keith Thompson实际上,有三种确切的方法可以完成它。
键入以下3个命令之一。
P.S.: 有时候,对于某些人来说,其中一种选项不起作用,而对于其他人则有效。
control+Z
会暂停进程,而不是终止。然而,按下 q
可以正常工作。 - Nickensoulgit --no-pager log --oneline -n 10
--no-pager
参数将遇到“(END)”单词。-n 10
参数只显示最后10个提交。--oneline
参数将显示提交消息,忽略作者和日期信息。GIT_PAGER=cat git diff
来临时使用cat
,或者将其保存在你的shell环境中。 - tacogit hist
使用分页工具,因此您可以在返回控制台之前向上或向下滚动结果。END
来自于用于显示日志的分页器(此时你仍处于其中)。输入q退出。
我想对提到CTRL + Z作为选项的评论表示赞赏。归根结底,这将取决于您在哪个系统上安装了Git以及配置为打开文本文件的程序是什么(例如,less与vim)。在Windows上,CTRL + Z适用于vim。
如果您在Windows环境中使用Git,则可能会遇到一些小问题。只是需要知道它们是什么。(即记事本vs Nano等)。
git log
的预期方式(与大多数其他分页器或使用分页器的应用程序一样)。git log
不起作用)或 ctrl+z(不过在 bash 中,ctrl-z 会冻结当前运行的前台进程,然后可以使用 bg
命令将其解冻为后台进程)。