我设置了gitosis,但即使我可以克隆,拉动并推送到gitosis-admin仓库,我也无法创建新的。
根据我阅读的每个文档,要创建一个新的回购,必须:
但我总是收到错误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,那么我可以从我的本地仓库推送到远程仓库。
答案 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
存储库时。
“
我想这可能是原因..