2

我在 gitolite 正在运行的服务器上找不到我的项目文件。基本上,我在 CentOS 6.2 上使用 gitolite 构建了一个 git 服务器,并创建了一个新存储库,我可以成功克隆、拉取、提交和推送文件到这个新项目,但是当我登录这个服务器时,试图找到我的项目文件,我找不到它们。存储库位于 /home/mygituser/repositories/myproject.git/ 中,但在其中找不到任何我推送的文件。

gitolite 是否将实际项目内容保存在其他地方,或者有没有办法配置和分离项目内容及其存储库?

这让我发疯,任何帮助将不胜感激。

4

1 回答 1

0

Gitolite 使用存储库运行。
裸仓库没有工作树,这意味着没有文件。

这就是为什么,顺便说一下,你的 repo 根目录以.git: 结尾是引用裸 repos 的命名约定。

有关更多信息,请参阅“ Git push only for bare repositories? ”。

默认情况下,您的存储库在以下位置进行管理:

~git/repositories/myrepo1.git
~git/repositories/myrepo2.git

通常,您不需要在服务器上查看 repo 的内容:您只需将其克隆到客户端并在那里查看。(默认情况下,克隆不会是裸仓库)

如果您在文件中将正确的~git/.ssh/id_rsa(.pub)密钥声明为用户,则可以在服务器上克隆它。这是我在服务器上安装/更新 gitolite 后所做的测试。 这是因为我的本地ssh 配置文件gitolite.conf

Host gitolitesrv
Hostname localhost
User @USERNAME@
Port @PORT_SSHD@
IdentityFile @H@/.ssh/gitoliteadm

所以我有一个~git/.ssh/gitolite(.pub)专用于 gitolite 管理员的私钥和公钥,如果我愿意,我可以在服务器上本地使用它来克隆 gitolite repo。
那是因为我使用相同的键来设置 gitolite

 GITOLITE_HTTP_HOME= gitolite setup -pk "${H}/.ssh/gitoliteadm.pub"

如果您有类似的设置,则可以克隆服务器上的任何 repo:

git clone gitolitesrv:gitolite-admin "${gtl}/ga"
于 2013-05-16T16:42:19.280 回答