2013-02-11 151 views
1

我知道git是分布式的,坦率地说我喜欢那个属性。如何从当前现有的本地git存储库中最好地建立一个“中央”git存储库?

的情况是,我一直在一块,我一直自成立以来通过管理软件的git的唯一开发者,在我的本地存储。这一直是如此 - 换句话说,目前只有一个存储库存在,我提交和合并的东西,并保持主分支处于“公开发布”状态。

我现在就放弃该项目的独家控制的边缘,并与其他开发者(S),谁就会犯自己的变化来分享它的源代码库。所以我需要将我的项目副本分发给其他人。当然,我想继续承诺我未来的工作,并能够审查和合并其他工作回到我的副本 - 工作git据说被创建做

问题的一个方面是,我的和其他开发人员的计算机都不是公用的(即可通过ssh或类似的服务作为服务器访问),并且我很难想象如何对我进行拉取和合并更改从他们的版本库复制到我的版本,反之亦然。该项目包括一台内联网机器,然而我们可以将其作为存储库主机,在这一点上,我需要关于如何最好地设置这一切的建议。

但是,为了管理起见,我不会将开发人员(包括我)分配给项目的仁慈独裁者,我将负责确保某种主分支或其他分支可用于结帐从...发布。但我也不知道还有多少其他开发人员将加入,即我们将拥有多少分布式副本,因此可能需要存储库的“中央”/主副本,我将独自撰写该副本。

恐怕我不能在这里清楚地看到大局。如何最好地做到这一点?

回答

0

只需与其他开发人员同意工作流程即可。我使用分支功能并在此处写下了我的工作流程:http://dymitruk.com/blog/2012/02/05/branch-per-feature/

除此之外,bitbucket还提供免费的专用回购服务,因此您不必担心设置自己的服务器。你也可以使用github,如果这是为了公开 - 或者从它们那里获得私人回购,尽管它不是免费的。

+0

亚当,你的文章是针对完全不同水平的git专业知识,我不[]拥有。除此之外,感谢您的帮助。 – amn 2013-02-12 10:30:36

0

如果您已经有企业内网的候选服务器,有什么不妥使用。只需在那里建立一个裸仓库,将现有的仓库推向那里,并开始将其用作中央仓库。这就是它的全部 - 不会有独裁者,但中央主机将成为中央“主回购”。

我知道这听起来像传统的集中式模型,它是,但我们已经做了很多使用Git和它的作品真的很好。

如果您希望您的回购作为主虽然,你可以只开启一个主回购给他人,但有一个独立的分公司生产或回购。然后,你只能从主合并到生产分支/回购你已经批准的东西。

编辑:关于如何做设置实用指令例如here详细。有指导一路通过的指示。唯一我要补充的是,代替git push origin master,对于第一次推送,您可能需要使用git push --all origin,因为它会推送所有分支,标签等,而不仅仅是主分支。

+0

eis,你能否详细说明我如何在远程服务器上设置源代码回购,推送到那里并将其用作中央回购?这是我现在无法自己做的部分。 – amn 2013-02-12 14:01:31

+0

@amn在答案中为您添加了一个链接 – eis 2013-02-12 19:02:33

相关问题