为什么我不能使用gitosis添加新的存储库?

时间:2009-10-27 22:45:53

标签: git gitosis

我设置了gitosis,但即使我可以克隆,拉动并推送到gitosis-admin仓库,我也无法创建新的。

根据我阅读的每个文档,要创建一个新的回购,必须:

  • 授予用户对repo的写入权限(在组中:putable = writo = repo-name)
  • 用户创建一个repo本地添加一个遥控器,然后执行推送
  • repo在服务器中创建

但我总是收到错误fatal: 'repo-name.git' does not appear to be a git repository

但是如果在服务器上登录(作为用户git)并使用mkdir repo-name.git && cd repo-name.git && git --bare init手动创建repo,那么我可以从我的本地仓库推送到远程仓库。

3 个答案:

答案 0 :(得分:1)

我遇到了这个问题,我发现如果我改变访问存储库的方式,它就可以了。创建组可写后。

# Go to the directory you want to start your project in.
git init; git add .
git commit -m 'initial commit'
git remote add origin gitosis@[server]:gitosis-test.git
git push --all

所以,在我做gitosis @ [server] /gitosis-test.git之前回顾一下,那是失败的。我交换了分号并且有效。

loglevel = DEBUG上的道具 它帮助了解了发生了什么。

答案 1 :(得分:0)

更新:
在您的gitosis-admin仓库中,尝试在loglevel = DEBUG的{​​{1}}下添加[gitosis]。将此更改推送到您的服务器,然后再试一次。这将生成许多有用的信息来帮助调试问题。

These instructions from Dreamhost是我找到的最好的。

您是否在更新权限后推送gitosis.conf回购?

答案 2 :(得分:0)

您好我今天遇到了完全相同的问题。

我检查了

$ ssh git @ yourserver echo如果你看到这个,它不是gitosis

并发现gitosis不服务ssh会话。

我无法理解。

作为一个解决方案,一个已删除的git用户(我用于gitosis目的)及其主文件夹,并从头开始重新创建。

它有所帮助。

来自gitosis.git的README.rst说

“..警告::

    For now, ``gitosis`` uses the ``HOME`` environment variable to
    locate where to write its files. If you use ``sudo -u``
    without ``-H``, ``sudo`` will leave the old value of ``HOME``
    in place, and this will cause trouble. There will be a
    workaround for that later on, but for now, always remember to
    use ``-H`` if you're sudoing to the account.

您应该始终通过git编辑配置文件。文件 符号链接到服务器上的~/.gitosis.conf将被覆盖 将更改推送到gitosis-admin.git存储库时。 “ 我想这可能是原因..