我无法在服务器上找到我的项目文件gitolite正在运行。 基本上,我在CentOS 6.2上使用gitolite构建了一个git服务器,我创建了一个新的存储库,我可以成功克隆,提取,提交和推送文件到这个新项目,但是当我登录这个服务器时,试图找到我的项目上面的文件,我找不到它们。存储库位于/home/mygituser/repositories/myproject.git/中,但我的任何推送文件都不能在那里找到。
gitolite是否将实际的项目内容保存在其他地方,或者是否有办法配置和分离项目内容及其存储库?
这让我发疯,任何帮助都会受到高度赞赏。
答案 0 :(得分:0)
Gitolite使用裸存储库运行 一个裸仓库没有工作树,这意味着没有文件。
顺便说一句,这就是为什么你的repo根目录以.git
结尾:它是引用裸存储库的命名约定。
有关详情,请参阅“Git push only for bare repositories?”。
您的回购邮件默认管理在:
~git/repositories/myrepo1.git
~git/repositories/myrepo2.git
通常,您不需要在服务器上查看存储库的内容:您只需在客户端上克隆它并查看它。 (默认情况下,克隆不会是一个裸仓)
如果在~git/.ssh/id_rsa(.pub)
文件中声明为用户的gitolite.conf
密钥,则可以在服务器上克隆它。
It is what I do, as a test,在我的服务器上安装/更新gitolite之后
这是因为我的本地ssh config file:
Host gitolitesrv
Hostname localhost
User @USERNAME@
Port @PORT_SSHD@
IdentityFile @H@/.ssh/gitoliteadm
所以我有一个专用于gitolite admin的~git/.ssh/gitolite(.pub)
私钥和公钥,如果需要,我可以在服务器上本地使用它来克隆gitolite repo。
那是因为我使用same key to setup gitolite:
GITOLITE_HTTP_HOME= gitolite setup -pk "${H}/.ssh/gitoliteadm.pub"
如果您有类似的设置,则可以克隆服务器上的任何仓库:
git clone gitolitesrv:gitolite-admin "${gtl}/ga"