git log -n 20 --pretty=oneline
我告诉git我只需要查看最近20次提交。我讨厌打Q以摆脱END。有没有办法让我不必打q。
答案 0 :(得分:79)
Git会自动为您分页输出,因为日志往往容易溢出单个终端窗口大小(您可能会遇到极少数例外情况 - 一种oneline格式和一个小的提交限制)。如果您不想这样,请使用:
git --no-pager log -n 20 --pretty=oneline
请注意,这确实意味着你会得到一些丑陋的包装,因为寻呼机之前已经关闭了包装(因为你可以使用光标键向左右滚动)。
答案 1 :(得分:24)
你可以通过告诉它使用cat而不是更少来“关闭”git分页。此后,当您想要分页时,将输出通过less,或者如果您只想查看顶部等,则输出;
git config --global core.pager cat
我关闭了自动分页,因为我经常在emacs中运行git,这既不需要也不能很好地运行。
答案 2 :(得分:13)
less
接受-F
参数自动退出
答案 3 :(得分:8)
git log -n 20 --pretty=oneline | cat
比--no-pager
选项略短,但也会删除任何颜色。
答案 4 :(得分:8)
如果您想在别名中使用--no-pager
,请按以下方式设置别名:
hist = !git --no-pager log --pretty=format:\"%h %ad | %s%d [%an]\" --graph --date=short
答案 5 :(得分:0)
q用于关闭用于查看日志的the command line program ... 你可以使用另一个日志查看器,如gitk
gitk -n 20
答案 6 :(得分:0)
无需单击q
即可退出的日志命令别名:
git config --global alias.hist '!git --no-pager log --pretty=format:"%h %ad | %s%d [%an]" --graph --date=short --max-count=10'
答案 7 :(得分:0)
如果您想要简短,-P
是 --no-pager
的同义词,它会关闭分页。
一些有趣的例子:
git --no-pager log --pretty=oneline -10 # summarize last 10 commits
git -P log --pretty=oneline -10 # same!
git -P log -1 -c # show diffs for last commmit
git -P log -1 -U1 # unified diffs w/ 1 line of context
git -P log -1 --name-only # print commit + names of changed files