gitolite gitlist:无法将 HEAD 解析为有效的参考

我目前在我的私人服务器上切换到 gitolite + gitlist。虽然 gitolite 工作正常,但 gitlist 和 gitweb 却不行。在 gitlist 中我可以看到 testrepo 和我自己的,gitlist 告诉我

Oops! fatal: Failed to resolve HEAD as a valid ref.

配置看起来有效...

[git]
client = '/usr/bin/git' ; Your git executable path
repositories = '/var/www/gitolite/repositories/' ; Path to your repositories

; You can hide repositories from GitList, just copy this for each repository you want to hide
; hidden[] = '/var/www/projects/BetaTest'
hidden[] = /var/www/gitolite/repositories/gitolite-admin.git

[app]
debug = false

; If you need to specify custom filetypes for certain extensions, do this here
[filetypes]
; extension = type
; dist = xml

...以及存储库

drwxr-xr-x   7 git git 4096 Sep 23 11:53 .
drwxr-xr-x   5 git git 4096 Sep 23 00:19 ..
-rwxr-xr-x   1 git git   23 Sep 23 00:19 HEAD
drwxr-xr-x   2 git git 4096 Sep 23 00:19 branches
-rwxr-xr-x   1 git git   66 Sep 23 00:19 config
-rwxr-xr-x   1 git git  386 Sep 24 17:27 gl-conf
drwxr-xr-x   2 git git 4096 Sep 23 00:19 hooks
drwxr-xr-x   2 git git 4096 Sep 23 00:19 info
drwxr-xr-x 109 git git 4096 Sep 25 00:24 objects
drwxr-xr-x   4 git git 4096 Sep 23 00:19 refs

和头

cat HEAD
ref: refs/heads/master

任何的想法?

stack overflow gitolite gitlist: Failed to resolve HEAD as a valid ref
原文答案

答案:

作者头像

检查您的标签和分支。

如果你有一个名为 tagmaster ,那么带有 git clone 选项的 git repo 的 -b master 也可以工作! ( -b 采用分支名称 or 一个标签)

作者头像

我也遇到了这个问题。

在裸存储库“repoName.git”中可能有这个文件: -rw-r--r-- 1 git git 23 Sep 19 11:37 HEAD ,内容为: ref: refs/heads/master 。类似的帖子建议检查此文件的访问权限。

但是当我检查文件 repoName.git/refs/heads/master 时,它拥有这些权限 -rw------- 1 git git 41 Mar 13 15:22 refs/heads/master

因此,我也可以通过更改此文件的权限来解决此问题(实际上我授予了更多权限,您可以尝试授予更少的权限):

chmod go+r repositories

其中 'repositories' 是 gitolite 的存储库目录。