如何一次性获取并展示所有git日志内容?
原因说明
Git默认会调用分页程序(多数环境下是less)处理长输出,避免一次性刷出过多内容占满终端,你看到的展示25条后需要按Enter加载下一条,就是分页程序的默认交互逻辑。
操作方法
单次临时生效(不修改Git默认配置)
- 直接执行关闭分页的命令:在
log子命令前加--no-pager参数,执行后会一次性输出全部分支的所有日志内容git --no-pager log --all注意:
--no-pager是Git的顶层参数,必须写在log子命令之前,写在log后面会被识别为log命令的传入参数,无法生效。 - 导出日志到文件:如果需要留存日志,可以直接将输出重定向到文件,这种场景下Git会自动禁用分页,所有日志会直接写入目标文件
git log --all > git_all_logs.txt - 已进入分页界面时快速加载全量内容:如果已经进入需要按Enter加载的分页交互界面,直接按大写
G(即Shift+g组合键)就能直接跳转到日志最末尾,自动加载完所有内容,浏览完按q键即可退出分页界面。
永久修改配置(后续执行git log默认不触发分页)
- 仅关闭
git log命令的分页:执行以下配置命令后,后续所有git log操作都会直接输出全量内容,不会进入分页模式git config --global pager.log false - 关闭所有Git命令的默认分页:如果希望所有Git命令的输出都不触发分页,可以执行以下配置,将默认分页器设置为直接输出内容的
catgit config --global core.pager cat
内容的提问来源于stack exchange,提问作者Bamil Kednarek
相关产品推荐
相关产品推荐

