2010-02-12 76 views
2

我正在设置一个git项目,并使用我的服务器作为我的组成员的中央回购。如何让多个用户访问1个git仓库?

我的问题是,我怎么能让多个用户访问相同的回购?

就目前来看,我成功地给了自己访问权限,并添加了一个回购。但是,使用[email protected]:projectname.git访问repo时,它会在我的home文件夹中找到该项目。

当然,[email protected]:projectname.git将访问他们的主目录中的projectname.git而不是我的。

如何让多个用户访问相同的回购?

回答

3

您是否考虑过使用gitosis

我不知道你在做什么在这里,但通常情况下,你创建一个用户帐户说git/home/git/project/创建中央回购和增加每个人要赋予权限的加入~git/.ssh/authorized_keys个公共密钥git clone [email protected]:project.git后应该得到的一切工作。

+1

或gitolite:http://github.com/sitaramc/gitolite – 2010-02-12 13:08:40

1

你在寻找一条绝对路径吗?

[email protected]:/home/yourusername/projectname.git 
+0

没有,甚至没有想过这样做。谢谢你提供的信息,我明天再试。我猜我只是将每个用户添加到一个组,然后给该组读/写权限的文件夹? – 2010-02-12 03:07:14

+0

是的,我想是这样:) – phunehehe 2010-02-13 01:44:54

1

git的关键思想是每个用户都有他/她自己的存储库。每个人的“中央”存储库的概念并不适用于与Subversion或CVS相同的意义。相反,它们都只是同行,如果你想要让某人对他们的存储库进行修改,你可以从他们那里得到类似但不完全相同的修改,以便用SVN或CVS“更新”。 当然,您可以拥有一个“权威”存储库,然后每个人都可以从中进行克隆。也许你应该阅读分布式版本控制系统背后的想法,并决定是否真的想使用它。

为SVN用户的介绍可以在这里找到:IBM Developerworks

+0

感谢您的输入,但我们使用git为我们的5个月课程项目。我们在项目中拥有相同的权限,因此没有一个用户会处理主存储库。这个想法是我们都会连接到一个中央存储库并在必要时进行提交。 SVN是不可能的,这太糟糕了。 – 2010-02-12 03:04:35

+0

@Ryan - SVN显然不是很糟糕,没有问题在这种情况下它不是一个选项,但同样你目前还没有能够让git做你想做的事......如果你想使用DVCS,那么你们每个人都有你自己的“工作”存储库 - 这就是为什么它的分布式 - 通过在存储库之间进行更改而进行协调。如果你有一个中央存储库,你可以让你的生活更轻松,你可以将所有更改都推送给 - 不是由团队的任何成员“拥有”,而是共享。 – Murph 2010-02-12 08:24:43

0

阅读章节“的Git服务器上”和免费Pro Git书“分布式的Git”。