解决git命令会将结果输出到单独窗口必须按q才能退出的问题

前言

平时会在 windows+linux 两种环境下进行开发,版本控制软件用 git 比较多,但是一直有个小问题,在 windows 下使用 git Bash 比较顺手,但是在 linux 使用 git 部分命令的时候,常常会打开一个新的窗口,按q键才能退出,比如 git branchgit loggit 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 ''

其实就是将分页器清空就行了,这样再执行 git branch 的时候就不会出现分页的情况了。

更精细的设置

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

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

git config --global pager.branch false

这样就可以达到只屏蔽 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 显示刚才的内容

==>> 反爬链接,请勿点击,原地爆炸,概不负责!<<==

学而不思则罔,思而不学则殆。动而不思则徒,思而不动则颓。

  • 12
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 12
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

AlbertS

常来“玩”啊~

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值