Kubuntu 16.4 LTS下git log控制台无输出问题求助
解决git log控制台无输出但重定向正常的问题
看起来你在Kubuntu 16.04 LTS(应该是笔误的16.4吧?)升级软件包后遇到了git log的奇怪问题——终端里没任何输出,但重定向到文件却能正常生成日志。这大概率是git的分页器(pager)配置出问题了,或者分页器本身(比如默认的less)在升级后出现故障,下面一步步排查解决:
1. 先确认是不是分页器的问题
先试试直接禁用git的分页功能,运行:
git log --no-pager
如果这条命令能在终端正常输出日志,那百分百是分页器的问题,继续往下排查。
2. 检查git的分页器配置
看看git当前设置的分页器是什么:
git config --get core.pager
- 如果输出是空的,或者是一些奇怪的命令(不是
less),那就是配置被搞乱了。执行下面的命令恢复默认的分页器设置:git config --global core.pager less - 如果输出本来就是
less,那问题可能出在less本身或者终端环境上。
3. 检查less是否正常工作
直接用less打开你生成的日志文件,看看能不能正常显示:
less /tmp/gitlog.txt
- 如果less打开后终端也没输出,或者报错,说明less在升级后损坏了,重新安装它:
sudo apt-get install --reinstall less - 如果less能正常显示文件内容,那看看终端的环境变量有没有问题。
4. 检查终端的TERM环境变量
有些时候升级会导致终端的TERM变量设置错误,让less无法适配终端。先查看当前TERM值:
echo $TERM
正常情况下Kubuntu的终端应该是xterm-256color或者xterm。如果显示的是奇怪的值(比如dumb),临时设置正确的TERM再试:
export TERM=xterm-256color git log
如果这样能正常输出,你可以把这个export命令加到~/.bashrc或者~/.zshrc里(看你用的shell),实现永久生效。
5. 极端情况:重置git的全局配置
如果上面的方法都没用,可能是git的全局配置被升级搞乱了,你可以备份当前配置后重置:
cp ~/.gitconfig ~/.gitconfig.backup git config --global --unset-all core.pager git config --global --reset core.pager
然后再试git log。
按照上面的步骤来,应该能解决你的问题。
内容的提问来源于stack exchange,提问作者lazyboy
相关产品推荐
相关产品推荐

