2

我在本地 ubuntu 服务器上有 git 存储库(由 gitosis 提供支持)

我想从由 windows xp (msysgit) 驱动的另一台本地计算机访问

我已经在 windows 机器上生成 rsa 密钥并发布到 ubuntu 服务器

我已将 .ssh/config 文件设置为在 Windows 机器上使用此密钥

当我做

ssh git@192.168.0.6

这可以按需要工作,无需密码提示

但是,当我尝试使用以下命令克隆存储库时:

git clone git@192.168.0.6:gitosis-admin

或者

git clone ssh://192.168.0.6/~/gitosis-admin

然后我收到以下错误:

致命:“gitosis-admin”似乎不是 git 存储库

当我尝试使用现有用户帐户进行克隆时,例如名为 atom 的用户

git clone atom@192.168.0.6:gitosis-admin

这可以按需要工作,但不适用于其他回购项目

我的 gitosis.conf:

[gitosis]

[组 gitosis-admin]

可写 = gitosis-admin

成员 = windows_user atom@atom-desktop

[小组组]

可写=另一个项目

成员 = @all

所以我的问题是:“问题出在哪里?” 我应该更改 gitdaemon 的设置吗?

4

1 回答 1

0

根据本教程,甚至可以在开始修改gitosis.conf文件之前完成 git clone。
那么,您是否遵循了这些步骤?

首先,它将创建一个名为“git”的用户。
它在他的主目录中拥有对存款的全部权力。

# Useradd-G git-d / home / git-s / bin / bash-m git 

然后我们将获取 SSH 公钥,并将其放入一个临时文件中/tmp/cle.pub
然后,我们将以 root 身份运行以下命令:

sudo-H-u git gitosis-init < /tmp/cle.pub 

在这种情况下,我们将作为 git 运行,但除此之外,我们将运行到后者的 home 中。
gitosis-init命令将通过添加用户的公钥作为包含 Committing 配置的押金来启动归档。

如果成功,您应该得到如下结果:

 Initialized empty Git repository in. /
 Initialized empty Git repository in. / 

(是的,两次!)

而且如果你查看 git home 的内容,就像变魔术一样,里面全是文件!

现在我们将更改文件权限。
事实上,我有时注意到它并没有因为权利问题而改变。

sudo chmod 755 /home/git/repositories/gitosis-admin.gif/hooks/post-update 

完成此操作后,我很高兴地宣布您的服务器已准备好 Git,只需添加您的存款和用户!

现在所有配置都通过我们将立即导入的存款在您的计算机上完成:

git clone git @ [server address]: gitosis-admin.gif
cd-gitosis admin.gif 
于 2009-12-31T16:48:50.847 回答