无法在 $GERRIT_SITE/git 文件夹中 运行 任何 git 命令

Can't run any git commands in $GERRIT_SITE/git folder

我安装了gerrit。

通过gerrit web UI创建项目时,项目反映在$GERRIT_SITE/git文件夹中。

例如,如果在 gerrit 上创建项目 trial,则会在 $GERRIT_SITE/git 文件夹中创建一个 trial.git 文件夹。

但是当我尝试 运行 $GERRIT_SITE/git/trial.git 文件夹中的任何 git 命令时,如下所示,我收到以下错误:

$ git status
fatal: This operation must be run in a work tree

我不知道该怎么做,需要一些指导。

原因是您在磁盘上找到的是一个 存储库,没有工作树(即特定分支的文件)。这对于 Git 服务器来说是完全正常的,您在克隆存储库后会在 .git/ 目录中找到相同的内容。

编辑 当您将存储库的路径指定为 GIT_DIR 环境变量的参数时,您可以使用这些裸存储库在服务器端工作:

GIT_DIR=/var/gerrit/review/git/trial.git/ git log --quiet --pretty=medium

这是特别的。在使用 Gerrit Hooks 做某事、合并新更改等时很有用