为什么'git log'即使存在日志文件也是空的?

时间:2012-09-08 07:09:20

标签: git

即使“git log”确实包含最近提交的日志条目,

.git/logs/refs/heads也不会产生任何内容。

系统:
我在我的ubuntu安装中卸载并重新安装了git。

Linux ap 3.0.0-17-generic #30-Ubuntu SMP Thu Mar 8 20:45:39 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux

4 个答案:

答案 0 :(得分:6)

我得到了同样的错误。问题是我在.bashrc中的错误位置定义了默认寻呼机:

export PAGER=/usr/bin/more

正在运行git log没有返回任何输出。我将位置更改为/bin/more并且已修复。

答案 1 :(得分:3)

git log与“.git / logs /”无关。 git log读取“.git / refs /”

git reflog读取“.git / logs /”,用于记录分支的提示何时更新。

答案 2 :(得分:0)

尝试再次克隆您的仓库并查看错误是否仍然存在。

确保您没有定义GIT_DIRGIT_WORK_TREE个环境变量,否则git log将无法在你认为的git repo上运行。

确保git没有别名,或者(就此而言)没有“log”的 git 别名。

答案 3 :(得分:0)

正如Diego Pino所说,问题可能与git core.pager设置有关。

我写这篇文章是因为我遇到了同样的问题,但情况有所不同。按照提示在git core.pager设置部分设置空值后,我失去了使用git log的可能性,我的意思是该命令的输出为空。这个设置的目的是不使用任何寻呼机,只是将所有内容打印到标准输出,但出了问题。在.gitconfig

中就是这样的
[core]
    pager = " "

解决方案可能是在core.pager全局(在您用户的主文件夹.gitconfig文件中)或整个系统的上下文中设置.gitconfig设置(在/ etc / gitconfig),分别为:

git config --global core.pager more 

sudo git config --system core.pager more

我更喜欢more作为长输出的寻呼机,但我的git安装中的默认寻呼机是less - 选择与您相关的内容。