我知道Git是分布式的,坦白说,我喜欢它的那个属性。
的情况是,我一直在一块,我一直自成立以来通过管理软件的git的唯一开发者,在我的本地存储。 这一直是这样的 - 换句话说,只有一个单一的存储库目前存在的,在这里我犯和合并的东西,保持主分支中的“公开发行”状态。
我现在就放弃该项目的独家控制的边缘,并与其他开发者(S),谁就会犯自己的变化来分享它的源代码库。 所以,我需要我的项目的副本分发给其他人。 当然,我想保持我的承诺今后的工作,并能够查看和合并其他工作,回到我的副本,以及- 一个工作的git据说是为了做 。
这个问题的一个方面是,无论是我的,也不是其他开发人员计算机是公共的(即会到达由服务器ssh
或类似的服务),我有麻烦想象这将是多么可行的是,我从他们的副本拉和合并更改库要到我的,反之亦然。 该项目包括但内网的机器,我们可以作为一个仓库主机使用,而在这一点上,我需要就如何最好地处理这件事了忠告。
无论是开发者(包括我)应该被指定为项目的仁慈的独裁者,但是,对于管理的缘故,我将与确保某种船长或其他分支机构的可检出从公众发布任务。 但我也不知道其他开发商有多少会被加入,即有多少分布式副本,我们将有,所以也许将需要存储库的“中心” /主副本,我将完全的作者。
恐怕我真的不能看到大的图像清晰这里。 如何最有效地做到这一点?
只要同意与其他开发者的工作流。 我用分支每个功能,并写到这里我的工作流程: http://dymitruk.com/blog/2012/02/05/branch-per-feature/
除此之外,到位桶提供免费的私人回购协议,所以你不必担心建立自己的服务器。 您还可以使用github上,如果这意味着要公开 - 或者从他们那里得到的私人回购,虽然它不是免费的。
如果您已经有企业内网的候选服务器,有什么不妥使用。 刚刚成立了一个裸回购那里,推动现有回购那里,并开始使用它作为一个中心回购。 这一切就是这么简单 - 有好多没有独裁者,但中央主机将是一个中央“主回购”。
我知道这听起来像传统的集中式模型,它是,但我们已经做了很多使用Git和它的作品真的很好。
如果您希望您的回购作为主虽然,你可以只开启一个主回购给他人,但有一个独立的分公司生产或回购。 然后,你只合并来自主生产分支/回购您批准的东西。
编辑:关于如何做设置实用指令例如详细这里 。 有指令,通过引导所有的方式。 只有我想补充的是,不是git push origin master
为先推,你可能想使用git push --all origin
,而不是因为这将推动所有分支,标签等,而不仅仅是主分支。
文章来源: How to best set up a “central” git repository from a current existing local git repository?