为什么我必须在git log结尾处打q?

git log -n 20 --pretty=oneline 

我告诉git,我只需要看到最后20次提交。 我讨厌打Q来摆脱END。 有没有出路,所以我不必打q。

Git自动为你分页输出,因为日志往往容易溢出一个单一的terminal窗口大小(你是在一个罕见的例外 – 一个oneline格式和一个小的提交限制)。 如果你不想要这个,使用:

 git --no-pager log -n 20 --pretty=oneline 

请注意,这意味着你会得到一些丑陋的包装,因为传呼机以前closures包装(因为你可以使用光标键左右滚动)。

你可以通过告诉它使用cat来代替less来“closures”git分页。 此后,当你想要分页时,通过较less的pipe道输出,或者如果你只是想看顶部,则输出。

 git config --global core.pager cat 

我closures自动分页function,因为我经常从emacs里运行git,既不需要也不能很好地运行。

less接受-F参数自动退出,如果内容适合在一个屏幕上

git log -n 20 --pretty=oneline | cat

--no-pager选项短一些,但也会去掉所有的颜色。

如果你想在别名中使用--no-pager ,可以这样设置你的别名:

 hist = !git --no-pager log --pretty=format:\"%h %ad | %s%d [%an]\" --graph --date=short 

q用于closures用于查看日志的命令行程序 …您可以使用其他日志查看器,如gitk

 gitk -n 20