解决git输出不完整

简介: 解决git输出不完整

前言
平时会在 windows+linux 两种环境下进行开发,版本控制软件用 git 比较多,但是一直有个小问题,在 windows 下使用 git Bash 比较顺手,但是在 linux 使用 git 部分命令的时候,常常会打开一个新的窗口,按q键才能退出,比如 git branch、git log、git show 等等。

如果是使用 git log 查询日志后想进行合并或者回退等操作时,因为日志信息已经退出没有显示在当前窗口,这种情况会比较麻烦,有时候还需要额外再查询一次,还有就是 git branch 命显示内容常常较少,单独打开一个窗口也没有必要,所以想单独设置这种情况,后来查询资料发现,这与 git 的 pager 设置有关,特此记录一下。

什么是 pager
pager 其实就是分页器,也就是对一大段内容进行分页显示的工具,git 在一些版本中默认使用的是 less 工具,不同的版本默认设置会有差异,这也就是造成我在 windows 下没有自动分页,而在 linux 下会打开新窗口进行分页的原因。

git 的分页器可以通过 core.pager 来进行设置,他会被 git 命令行解释,影响分页器的变量有多个,他们起作用的顺序依次是 $GIT_PAGER 环境变量,core.pager git配置,$PAGER 环境变量,如果这些都没有设置,默认会选择编译时的选项(通常为less),具体细节可以参考官方文档 git core.pager。

设置 core.pager
了解了上面的原理,我们就知道只要单独修改 git 配置就可以了,默认的分页器是 less,我们只要设置了 core.pager 就可以影响结果,所以在 git Bash 中执行下面的语句即可。

git config --global core.pager ''
1
其实就是将分页器清空就行了,这样再执行 git branch 的时候就不会出现分页的情况了。

更精细的设置
设置 core.pager 这项配置后对 less 分页器进行了全局屏蔽,虽然 git branch 这种显示内容少的命令比较方便了,但是执行 git show 的时候不分页反而会显得混乱,有没有单独设置每个 git 命令的配置呢?

答案当然是肯定的,比如上面提到的这种情况,我们只想屏蔽 git branch 命令的分页,而想保留git show 和 git log 的分页显示,就可以单独执行下面的命令。

git config --global pager.branch false
1
这样就可以达到只屏蔽 git branch 命令的分页结果了。

less and more
临时插播个知识点,less 和 more 都是 linux 的文本显示工具,那么它们谁更厉害一点呢?从名字上来看应该是 more 更厉害,但实际上是 less 更厉害,less 在 more 的基础上加上了后退功能(据说最初版本more不能后退,现在的常见版本已经支持后退功能了),支持上下键翻页,并且速度更快一点,所以在 linux 的世界一直流传着 “less is more” 这句话。另外 more 退出后会在 shell 上留下刚显示的内容,而 less 不会。

总结
使用 git config --global core.pager '' 命令可以屏蔽 git 默认的分页器 less
使用 git config --global pager.branch false 命令可以只关闭 git branch 命令的分页显示
less 命令比 more 命令更加强大,支持上下键翻页,退出后不会在 shell 显示刚才的内容

目录
相关文章
|
机器学习/深度学习 自然语言处理 数据挖掘
探索自然语言处理(NLP)在文本分析中的无限潜能
在信息爆炸的时代,文本数据已经成为人们获取知识和信息的重要来源。自然语言处理(Natural Language Processing,简称NLP)作为一种人工智能技术,正在引领着文本分析的革新。本文将介绍NLP在文本分析中的应用,包括文本情感分析、关键词提取、实体识别等,并探讨其在未来的发展前景。
282 3
|
存储 算法 Linux
【Linux系统编程】深入理解Linux目录扫描函数:scandir目录函数(按条件扫描目录
【Linux系统编程】深入理解Linux目录扫描函数:scandir目录函数(按条件扫描目录
428 0
|
6月前
|
开发者 异构计算
高效部署通义万相Wan2.1:ComfyUI文生/图生视频实战,工作流直取!
通义万相Wan2.1开源不到一周,已登顶HuggingFace Model 和 Space 榜双榜首,在HuggingFace和ModelScope平台的累计下载量突破100万次,社区热度持续攀升!为响应小伙伴们对ComfyUI工作流运行Wan2.1的强烈需求,社区开发者整理了实战教程👇
5790 23
高效部署通义万相Wan2.1:ComfyUI文生/图生视频实战,工作流直取!
|
2月前
|
C++ Windows
Windows10添加自定义右键菜单VS Code
本文介绍了如何在Windows 10中通过修改注册表,将VS Code添加到右键菜单,实现右键文件、文件夹或空白处时使用VS Code打开。方法同样适用于其他程序,如Sublime Text 3。
|
9月前
|
人工智能 IDE 程序员
GitHub Copilot 免费了!程序员们的福音来了!
《GitHub Copilot 免费了!程序员们的福音来了!》 近日,GitHub 宣布其 AI 编程助手 GitHub Copilot 现在可以免费使用。曾经每月需支付 10 美元订阅费的 Copilot,现在向所有人开放免费版本,这对个人开发者、初学者和小型团队来说是个大好消息。免费版支持 GPT 和 Claude 模型,并提供每月 2000 次代码补全和 50 条聊天消息等核心功能。用户只需注册或登录 GitHub 账户,在 VS Code 中安装扩展并激活免费版即可使用。此外,Visual Studio Code 也完全免费,进一步降低了开发门槛。 除了
10900 7
GitHub Copilot 免费了!程序员们的福音来了!
|
11月前
|
存储 算法
Leetcode第三题(无重复字符的最长子串)
这篇文章介绍了解决LeetCode第三题“无重复字符的最长子串”的算法,使用滑动窗口技术来找出给定字符串中最长的不含重复字符的子串,并提供了详细的代码实现和解释。
528 0
Leetcode第三题(无重复字符的最长子串)
|
存储 机器学习/深度学习 算法
第十五届蓝桥杯pb组国赛E题[马与象] (15分)BFS算法 详解
第十五届蓝桥杯pb组国赛E题[马与象] (15分)BFS算法 详解
298 3
|
10月前
|
存储
如何对局域网共享文件设置访问权限、如何对不同电脑设置不同权限
?例如只允许某个用户读取而不允许其上传、删除文件要如何实现呢?
1093 3
|
11月前
|
存储 C语言
如何在 C 语言中实现结构体的深拷贝
在C语言中实现结构体的深拷贝,需要手动分配内存并逐个复制成员变量,确保新结构体与原结构体完全独立,避免浅拷贝导致的数据共享问题。具体方法包括使用 `malloc` 分配内存和 `memcpy` 或手动赋值。
334 10
Vue3徽标(Badge)
该组件库包含 `Descriptions` 和 `DescriptionsItem` 两种组件,需配合使用。
161 2
Vue3徽标(Badge)