GIT回购中每个开发人员的分支

时间:2010-06-15 22:55:47

标签: git

我想将我的项目从本地svn存储库移到GitHub。多个开发人员正在努力开展这个项目。 我认为每个开发人员都应该有自己的分支,他们会在其中提交更改。当经理审查他们的工作时,他会将其合并到主分公司。 我不希望每个开发人员使用单独的存储库,因为GitHub拥有有限数量的私有存储库。

这是个好主意吗?还有什么其他选择?

4 个答案:

答案 0 :(得分:4)

Scott Chacon在Pro Git的书中做得很好。第5章讨论分布式工作流程,我认为Integration-Manager工作流程符合您所描述的内容。

Git Pro

另外请记住,与SVN不同,每个开发人员都有自己的存储库,而不仅仅是在他们的开发机器上签出的工作副本。以同样的方式,您可以将裸存储库克隆到内部网络上的共享服务器,让开发人员提交到该存储库,然后让维护者从内部存储库中提取,集成更改然后再推送到github。

在该工作流程中,您可以在自己的计算机上管理裸仓库并通过常规Unix用户帐户控制权限。您不会受到像Github那样可以推送到内部仓库的开发人员数量的限制。

答案 1 :(得分:3)

您不需要为每个开发人员设置不同的分支(尽管您可以)在一个项目中我们设置了这样的架构:

master
pre-prod
qa
devel

开发人员都检查了devel分支并推动了它,QA团队将每晚带着devel分支进入QA并实际审查在开发硬件平台上做了什么并进行了测试,然后是pre-prod在经过约数周的质量保证或达到一个里程碑之后从质量保证中撤出,并在生产硬件上进行“内部测试”测试,一旦被清除,它就被推送到掌握。

如果您有多个开发人员,您可能只想花时间设置gitolite(或Gitosis)和远程Git仓库。每个开发人员拥有自己的Repo,然后你的仓库是“主要的”或者你可以从每个开发商仓库获得一个主要仓库是理想的,并且在很多合作者的大项目中都很有效。

然而,Github中的每个开发人员分支布局也可以正常运行,具体取决于您拥有多少开发人员以及代码库有多大(仅仅因为在大约400MB或长历史(大量增量)之后性能繁琐) )

答案 2 :(得分:1)

当他们在他们的PC上克隆存储库时,它被称为fork,我建议他们制作git“format-patch”并将其发送给管理器,然后管理员通过应用它并提交来检查补丁到sentral存储库。

它被称为“人力守卫分散”工作流程: http://doc.bazaar.canonical.com/bzr.2.1/en/user-guide/bazaar_workflows.html (这个例子与集市有关,但它非常适用于GIT)

你认为每个人都有分支的方式也很好。使用网守的分散类似于Linux内核使用的

答案 3 :(得分:1)

在Git中,每个开发人员都有自己的存储库和默认分支,他们将在其中提交更改。

请参阅 - http://www.kernel.org/pub/software/scm/git/docs/gitworkflows.html