【发布时间】:2010-03-02 16:56:51
【问题描述】:
考虑:
git log -n 20 --pretty=oneline
我告诉 Git 我只需要查看最后 20 次提交。我讨厌按 Q 来摆脱 END。有没有办法让我不用按Q?
【问题讨论】:
标签: git
考虑:
git log -n 20 --pretty=oneline
我告诉 Git 我只需要查看最后 20 次提交。我讨厌按 Q 来摆脱 END。有没有办法让我不用按Q?
【问题讨论】:
标签: git
Git 会自动为您分页输出,因为日志很容易溢出单个终端窗口大小(您处于罕见的例外之一 - 单行格式和较小的提交限制)。如果您不想要这个,请使用:
git --no-pager log -n 20 --pretty=oneline
请注意,这确实意味着您会得到一些难看的换行,因为寻呼机之前已为您关闭换行(因为您可以使用光标键左右滚动)。
【讨论】:
.gitconfig 中添加l = !git --no-pager log -n 20 --pretty=oneline 以创建别名..
您可以通过告诉它使用 cat 而不是 less 来“关闭”git 分页。此后,当您确实想要分页时,将输出通过管道输出,或者如果您只想查看顶部等,则通过管道输出。
git config --global core.pager cat
我关闭了自动分页,因为我经常在 emacs 中运行 git,它既不需要也不用 less 很好。
【讨论】:
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 即可使其消失:
git config --global alias.hist '!git --no-pager log --pretty=format:"%h %ad | %s%d [%an]" --graph --date=short --max-count=10'
【讨论】:
如果你想要简短,-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
【讨论】: