2010-06-15 149 views
2

我是Git的新手。我在linux服务器上创建了一个主存储库。同一台服务器将由5个3个用户组使用。我想为每个组创建一个本地存储库。然后小组成员应该为每个小组创建一个本地存储库,使用内容并将修改提交给组的本地存储库。主存储库和本地存储库在同一台机器

我应该怎么做呢?

回答

3

您可以在您要创建的副本的目录运行

git clone --bare /path/to/master/repository 

创建主资料库中的副本。我建议用不同的路径做5次,以创建5个不同的主存储库本地副本。然后每个组成员都可以运行

git clone /path/to/group_local/repository 

创建其组的本地存储库的单个副本。所以你有三个“级别”的存储库:主,本地,个人。

当你克隆一个仓库,除非使用--bare选项,git会设置克隆的remote.origin.url属性指的是原来的。这意味着,如果你在克隆运行

git pull 

,它会拉从原始资料库的变化,如果您在克隆运行

git push 

,它将从克隆推变化原本的。因此,当您的小组成员在其各自的存储库中进行修改时,他们可以运行git push,并且这些修改将被“上传”到其组的本地存储库。在克隆存储库中,也可以通过指定git pull命令的URL(或预配置的远程名称)来复制另一个存储库(我的意思是从最初克隆的存储库除外)中的更改。您也可以推送到任意一个其他存储库,尽管如果您要尝试的话还是需要注意一些事情。

0

首先,我建议让用户选择他们想要的存储库数量,这是完全不相关的,只能用于创建尴尬的情况。

我将组织它的方式激发了“仁慈的生命的独裁者”和中尉模型。

BDFL是将中尉储存库的变更集成到顶级储存库主分支中的人。

中尉将贡献者的变化整合到他们的回购中。最好在一些明智的分支。开发人员将他们的工作分支推向中尉,或者中尉将其从回购中退出,通过电子邮件发送补丁集,无论效果如何。

请注意,这些“集成”可以在很大程度上使用像哈德逊这样的CI服务器自动执行。

贡献者在每个任务的分支中工作并定期与MASTER存储库合并。只有在特殊情况下从中尉回购。 (现在只有当移动速度足够快时才起作用)。最好从主人那里撤回,以减少循环中的等待时间,并避免其中一名中尉生病时的“不愉快”。