解决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在文本分析中的应用,包括文本情感分析、关键词提取、实体识别等,并探讨其在未来的发展前景。
321 3
|
Linux Python
Linux Debian12使用VSCode和Python搭建flask开发环境
本文主要介绍了Linux Debian12使用VSCode和Python搭建flask开发环境的方法,并结合一个基础flask网页例子,测试是否运行正常。
438 2
Linux Debian12使用VSCode和Python搭建flask开发环境
|
11月前
|
人工智能 IDE 程序员
GitHub Copilot 免费了!程序员们的福音来了!
《GitHub Copilot 免费了!程序员们的福音来了!》 近日,GitHub 宣布其 AI 编程助手 GitHub Copilot 现在可以免费使用。曾经每月需支付 10 美元订阅费的 Copilot,现在向所有人开放免费版本,这对个人开发者、初学者和小型团队来说是个大好消息。免费版支持 GPT 和 Claude 模型,并提供每月 2000 次代码补全和 50 条聊天消息等核心功能。用户只需注册或登录 GitHub 账户,在 VS Code 中安装扩展并激活免费版即可使用。此外,Visual Studio Code 也完全免费,进一步降低了开发门槛。 除了
12034 7
GitHub Copilot 免费了!程序员们的福音来了!
|
开发工具 git
|
存储
如何对局域网共享文件设置访问权限、如何对不同电脑设置不同权限
?例如只允许某个用户读取而不允许其上传、删除文件要如何实现呢?
1568 3
|
存储 C语言
如何在 C 语言中实现结构体的深拷贝
在C语言中实现结构体的深拷贝,需要手动分配内存并逐个复制成员变量,确保新结构体与原结构体完全独立,避免浅拷贝导致的数据共享问题。具体方法包括使用 `malloc` 分配内存和 `memcpy` 或手动赋值。
423 10
|
UED Python
Python requests库下载文件时展示进度条的实现方法
以上就是使用Python `requests`库下载文件时展示进度条的一种实现方法,它不仅简洁易懂,而且在实际应用中非常实用。
488 1
|
存储 缓存 JSON
详解HTTP四种请求:POST、GET、DELETE、PUT
【4月更文挑战第3天】
71443 5
详解HTTP四种请求:POST、GET、DELETE、PUT
|
C# UED 定位技术
WPF控件大全:初学者必读,掌握控件使用技巧,让你的应用程序更上一层楼!
【8月更文挑战第31天】在WPF应用程序开发中,控件是实现用户界面交互的关键元素。WPF提供了丰富的控件库,包括基础控件(如`Button`、`TextBox`)、布局控件(如`StackPanel`、`Grid`)、数据绑定控件(如`ListBox`、`DataGrid`)等。本文将介绍这些控件的基本分类及使用技巧,并通过示例代码展示如何在项目中应用。合理选择控件并利用布局控件和数据绑定功能,可以提升用户体验和程序性能。
547 0
|
Java 调度
线程池如何知道一个线程的任务已经执行完成
线程池如何知道一个线程的任务已经执行完成
879 0