Ale*_*sev 2 git version-control gitosis
我已经安装了gitosis,但是当我使用repos时我很奇怪.在配置我有
[gitosis]
[group gitosis-admin]
writable = gitosis-admin
members = me@server me@laptop
[group prj1]
writable = prj1
members = me@laptop
Run Code Online (Sandbox Code Playgroud)
在/ home/git/repositories中我用空git repo创建了目录prj1.git.
我可以从服务器和笔记本电脑的gitosis-admin工作没有问题,但当我想在我的笔记本电脑上git克隆 prj1我看到
$ git clone git@server:prj1.git
Initialized empty Git repository in /Users/alec/temp/prj1/.git/
fatal: no matching remote head
Run Code Online (Sandbox Code Playgroud)
好吧,让prj1从笔记本电脑推送到服务器:
$ git push origin master:refs/heads/master
ERROR:gitosis.serve.main:Repository read access denied
fatal: The remote end hung up unexpectedly
Run Code Online (Sandbox Code Playgroud)
怎么了?
您的笔记本电脑上的以下内容是否会解决此问题?
而不是git克隆:
mkdir prj1
cd prj1
git init
touch README
git add .
git commit -m "Added blank readme"
git remote add origin git@server:prj1.git
git push origin master
Run Code Online (Sandbox Code Playgroud)
ebneter在评论中添加:
您可能会提到它的工作原因是您无法克隆空仓库.
(正如我的用户经常发现......
这提醒了OP问题:
...并在
/home/git/repositories
我创建了目录prj1.git与空git repo
那里不理想.
这个问题提到了克隆空仓库的问题:
换句话说,不要尝试克隆空仓库,而是在创建它之后,向它推送一个包含一个无害文件的简单仓库.然后它不再是空的,可以克隆.
从那以后,Chris Johnsen评论道:
任何Git晚于1.6.2
(实际上自2009年3月以来)
可以"克隆"空存储库.
(吓唬引号,因为它实际上只是正常初始化和设置远程,并为假定的,最终主分支创建跟踪配置).
我有同样的问题,即使按照答案1中的步骤后仍然存在.
sudo chmod 755 /home/git/repositories/gitosis-admin.git/hooks/post-update
Run Code Online (Sandbox Code Playgroud)
为我解决了.显然旧版本的setuptools可以使更新后的钩子不可执行.请参阅此页面.