我尝试按照如何使用 gitosis 来管理我的 git 项目的说明。除了一个小问题,我已成功安装 gitosis 。
当我尝试创建我的第一个git项目时(在通过gitosis设置和配置项目之后)出现了问题。当我推送到远程git存储库时,我收到以下错误:
fatal: '/home/git/repositories/idea-generator.git' does not appear to be a git repository fatal: The remote end hung up unexpectedly
这是我正在运行的命令序列,用于安装gitosis并从头到尾推送我的第一个项目。我正在针对同一台服务器运行这些命令。目前我的开发机器是中央git仓库,但在某些时候它将成为一个独立的服务器,专门用于安装git和其他一些项目。
操作系统:Ubuntu 10.04 git:1.7.0.4 python:2.6.5
cd /home/rdn/projects git clone git://eagain.net/gitosis.git cd gitosis sudo python setup.py install sudo adduser --system --shell /bin/sh --gecos 'git version control' --group --disabled-password --home /home/git git sudo -H -u git gitosis-init < /home/rdn/.ssh/id_rsa.pub sudo chmod 755 /home/git/repositories/gitosis-admin.git/hooks/post-update cd .. # At this point I can't use the instructed 'git clone git@Frankenstein:gitosis-admin.git' as it complains that "fatal: 'gitosis-admin.git' does not appear to be a git repository" git clone git@Frankenstein:/home/git/repositories/gitosis-admin.git cd gitosis-admin gedit gitosis.conf # added following entries to ../gitosis-admin/gitosis.conf # [gitosis] # loglevel = DEBUG # repositories = /home/git/repositories # # [group gitosis-admin] # writable = gitosis-admin # members = rdn@Frankenstein # # [group idea-generator] # writable = idea-generator # members = rdn@Frankenstein git commit -a -m "created first repository" git push cd .. rails new idea-generator cd idea-generator git init git remote add main_project git@Frankenstein:/home/git/repositories/idea-generator.git git add . git commit -a -m "initial project creation" git push main_project master:refs/heads/master
我能够'修复'的唯一方法是登录远程服务器并创建远程存储库,如下所示:
由于gitosis存储库位置中的git用户创建了一个远程裸项目:
git:~ cd /home/git/repositories git:~ mkdir idea-generator.git git:~ cd myapp.git git:~ git --bare init
作为提交者用户(在我的案例中为rdn),提交并推送新创建的项目。
rdn:~ cd /home/rdn/projects/idea-generator rdn:~ git init rdn:~ git remote add main_project git@Frankenstein:/home/git/repositories/idea-generator.git rdn:~ git add . rdn:~ git commit -a -m "initial project creation" rdn:~ git push main_project master:refs/heads/master
我读过的所有教程和文档都留下了这个重要的一步。也许在其他发行版上这个步骤不是必需的,但在我的情况下,我发现它是必要的。希望有人能够回答这个初始问题并确定需要更改哪些步骤才能使原始教程在Ubuntu 10.04下运行。
答案 0 :(得分:1)
如果您能够使用完整路径(/home/git/repositories/idea-generator.git)获取/推送回购,那么您将完全绕过gitosis,包括任何访问检查它可能会强加。你可能不会使用gitosis,因为它正在为你做好事。
这也是推送没有为你自动创建回购的原因 - 绕过了gitosis,所以没有自动创建。
正确使用gitosis意味着你的网址看起来像git @ Frankenstein:gitosis-admin.git(因为你说你设法成功克隆了它)。
答案 1 :(得分:0)
我刚刚成功运行了教程。我的服务器是'valkyrie'运行ubuntu 10.4和我的客户端,'wraith'是OS X 10.6.1。确保使用客户端rsa / dsa密钥而不是服务器密钥。这是我的例子:
echo "ssh-rsa AAAAB3NzaC1yc2EAAAABIw...== mwilliamson@wraith" | sudo -H -u git gitosis-init