在同一台机器上的主仓库和本地仓库

3
我是新手使用Git。我在Linux服务器上创建了一个主仓库。同一台服务器将被5个由3个用户组成的小组使用。我想为每个小组创建一个本地仓库。小组成员应该轮流为他们自己创建一个本地仓库,对内容进行操作并将修改提交到小组的本地仓库中。
我该如何操作?
2个回答

5
您可以通过运行以下命令创建主存储库的副本:
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 ,这些修改将“上传”到其组的本地存储库中。在克隆存储库中,还可以通过指定URL(或预配置远程的名称)到 git pull 命令来从另一个存储库(不是最初克隆的存储库)复制更改。您也可以推送到任意其他存储库,但如果要尝试这样做,需要注意一些事项。


0
首先,我建议让用户选择他们想要多少个存储库,这是完全无关紧要的,只会导致尴尬的情况。
我的组织方式受到“终身仁慈独裁者”和中尉模型的启发。
BDFL是将中尉存储库的更改集成到顶级存储库主分支的人。
中尉将贡献者的更改集成到他们的存储库中。最好在一些明智的分支中。开发人员将其工作分支推送到中尉或中尉从他们的存储库中拉取它,发送一个补丁集,以任何最佳方式进行。
请注意,使用像Hudson这样的CI服务器可以大大自动化这些“集成”。
贡献者按任务在分支中工作,并定期与MASTER存储库合并。只有在特殊情况下才从中尉存储库中合并。(现在只有当向上移动的速度足够快时才有效)。最好从主分支中拉取以减少循环延迟并避免当其中一个中尉生病时出现“不愉快”。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接