git 日志不显示所有项目
git log displays nothing for all projects
我已经使用 git 很多年了。但是突然,git log
命令开始什么都不显示。当我输入 git log
命令时,它只是结束并且什么都不显示。
命令 git rev-list --all --pretty
执行 return 所有提交以及其他信息。
commit b89bbaafc0854b57230d5e5018dd72d48106eb03
Merge: 96758ec 60c87e1
Author: Ali Ayub Khan <akhan.bscs15seecs@seecs.edu.pk>
Date: Sat May 19 14:05:01 2018 +0500
Merge pull request #33 from hkedia321/master
fix #32 - update readme and ping heroku to prevent from sleeping
因此,"git log" 命令开始不显示任何内容。我卸载了 git 并重新安装了,但它仍然不起作用。这对所有项目(新旧项目)都是一样的。我正在使用 Ubuntu 16.04 LTS.Can 请有人帮我解决这个问题。
(我现在才找到移动到聊天的讨论。)
我建议使用 git --no-pager log
,效果很好。然后我问 git var GIT_PAGER
产生了什么,以及重定向到什么程序;答案是:
$ git var GIT_PAGER
pager
$ which pager
/home/hkedia321/anaconda3/bin/pager
其他人询问了退出状态,它是 141:这表示 Linux 上的 SIGPIPE。
因此,这意味着位于此位置(/home/hkedia321/anaconda3/bin/pager
)的程序存在某种错误。它不是一次显示一页输出,而是简单地退出而不显示任何内容,或者死于 SIGPIPE 信号。我会在这里注意 pager
在我自己的 Ubuntu 16.04 系统上是 /usr/bin/pager
,它是 /etc/alternatives/pager
的符号链接,它本身是 /bin/less
的符号链接.
(我自己的 git var GIT_PAGER
产生 less
这样我就可以更直接地通过 /bin/less
了。)
因此您的两个选择是:
- 修复此
pager
程序使其正常工作,或者
- 避免这个特定的
pager
程序。
如果您更喜欢 less
作为寻呼机,后者就足够简单了,因为您可以简单地 运行:
git config --global core.pager less
(仅特定于 Git),或导出设置:
PAGER=less
在您的环境中,这就是我在 Linux 系统上所做的,在我的 .profile
文件中使用此代码片段:
# bash and sh use "type" a bit differently, but both will
# exit 0 if the command exists (or is an alias).
command_exists() {
type "" >/dev/null 2>&1
}
# if less exists, use it as pager; if lesspipe exists, set its env too
command_exists less && {
export PAGER=less
export LESS=FRX
command_exists lesspipe && eval $(lesspipe)
}
(这是特定于使用 sh 或 bash 的类 Unix 系统,尽管它试图进行自我调整)。
我已经使用 git 很多年了。但是突然,git log
命令开始什么都不显示。当我输入 git log
命令时,它只是结束并且什么都不显示。
命令 git rev-list --all --pretty
执行 return 所有提交以及其他信息。
commit b89bbaafc0854b57230d5e5018dd72d48106eb03
Merge: 96758ec 60c87e1
Author: Ali Ayub Khan <akhan.bscs15seecs@seecs.edu.pk>
Date: Sat May 19 14:05:01 2018 +0500
Merge pull request #33 from hkedia321/master
fix #32 - update readme and ping heroku to prevent from sleeping
因此,"git log" 命令开始不显示任何内容。我卸载了 git 并重新安装了,但它仍然不起作用。这对所有项目(新旧项目)都是一样的。我正在使用 Ubuntu 16.04 LTS.Can 请有人帮我解决这个问题。
(我现在才找到移动到聊天的讨论。)
我建议使用 git --no-pager log
,效果很好。然后我问 git var GIT_PAGER
产生了什么,以及重定向到什么程序;答案是:
$ git var GIT_PAGER
pager
$ which pager
/home/hkedia321/anaconda3/bin/pager
其他人询问了退出状态,它是 141:这表示 Linux 上的 SIGPIPE。
因此,这意味着位于此位置(/home/hkedia321/anaconda3/bin/pager
)的程序存在某种错误。它不是一次显示一页输出,而是简单地退出而不显示任何内容,或者死于 SIGPIPE 信号。我会在这里注意 pager
在我自己的 Ubuntu 16.04 系统上是 /usr/bin/pager
,它是 /etc/alternatives/pager
的符号链接,它本身是 /bin/less
的符号链接.
(我自己的 git var GIT_PAGER
产生 less
这样我就可以更直接地通过 /bin/less
了。)
因此您的两个选择是:
- 修复此
pager
程序使其正常工作,或者 - 避免这个特定的
pager
程序。
如果您更喜欢 less
作为寻呼机,后者就足够简单了,因为您可以简单地 运行:
git config --global core.pager less
(仅特定于 Git),或导出设置:
PAGER=less
在您的环境中,这就是我在 Linux 系统上所做的,在我的 .profile
文件中使用此代码片段:
# bash and sh use "type" a bit differently, but both will
# exit 0 if the command exists (or is an alias).
command_exists() {
type "" >/dev/null 2>&1
}
# if less exists, use it as pager; if lesspipe exists, set its env too
command_exists less && {
export PAGER=less
export LESS=FRX
command_exists lesspipe && eval $(lesspipe)
}
(这是特定于使用 sh 或 bash 的类 Unix 系统,尽管它试图进行自我调整)。