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
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
我遇到了相同的错误。问题出在我在.bashrc
文件中定义了一个默认分页器,但位置不正确:
export PAGER=/usr/bin/more
执行git log
未返回任何输出。我把位置改为/bin/more
,问题得到解决。
git log
不涉及 ".git/logs/" 目录。它读取的是 ".git/refs/" 目录。
git reflog
读取的是 ".git/logs/" 目录,用于记录分支末端更新的时间。
ap refs # find
.
./remotes
./remotes/origin
./remotes/origin/HEAD
./heads
./heads/master
./tags
ap refs # cat ./remotes/origin/HEAD ./heads/master
引用:refs/remotes/origin/master
e239654193132ee1f030be82d895a695f8657df0
- saremapadhasa正如Diego Pino所说,问题可能与git core.pager设置有关。
我写这篇文章是因为我遇到了同样的问题,但情况有所不同。在按照提示设置git core.pager
设置部分中的空值后,我失去了使用git log
的可能性,我的意思是命令的输出为空。这个设置的目的是不使用任何分页器,只将所有内容打印到stdout,但出了些问题。在.gitconfig
中类似于以下内容:
[core]
pager = " "
解决方案可能是在全局范围内(在用户的主目录下的.gitconfig
文件)或整个系统的上下文中(在/etc/gitconfig中)设置core.pager
设置:
git config --global core.pager more
或者
sudo git config --system core.pager more
我更喜欢使用more
作为长输出的分页器,但是我的git安装中默认的分页器是less
- 选择适合您的。
尝试再次克隆您的存储库,看看错误是否仍然存在。
确保您没有定义GIT_DIR
或GIT_WORK_TREE
环境变量,否则git日志将无法在您认为的git存储库上运行。
确保没有别名git
,或者(就此而言)没有'log
'的git别名。
git clone
产生了完全相同的空白 git log
? - VonC
git rev-list
会输出任何内容吗? - georgebrockless -F
作为分页器命令?在某些平台上,如果输入足够小以适合一页,则less -F
不会输出任何内容。删除-F
或添加-X
可以解决这个问题。如果你运行git log | cat
会发生什么? - Joshua Chia