2009-01-21 68 views
9

我们已经看过并观看过有关大型分布式团队使用Git的视频,但那些没有发布并且与我们团队其他成员一起在办公室工作的人们呢?我们应该如何构建我们的仓库和我们的工作流程?你如何构建你的Git仓库工作流程?

想一想使用Subversion或CVS作为单一权限的传统办公室。当然,这些团队可以各自维护自己的Git存储库,并根据需要在对方之间推/拉,这在很多情况下很快就会变成噩梦。或者,他们可以各自维护自己的存储库,并与称为团队“主”的单个存储库同步。或者,可能有工作流程的任何组合与DVCS打开的可能性。

你的团队如何工作?你发现什么是一个有用的工作流程?

回答

17

我喜欢雅虎的方式。用户界面(YUI)团队似乎正在工作。我不是雅虎,也不是我的团队,但他们的git commit日志揭示了他们的流程。

YUI团队维护一个中央存储库,团队中的每个人都可以提交访问权限。定期在提交到这个仓库之后(可能是在每次推送之后,但我不这么认为),构建系统会触发,重建YUI并将新标记的提交推送给github,社区可以在其中分发代码并在其上工作。

我赞成代表项目“官方”状态的中央存储库。当然,如果我想与同事分享代码,我可以安排他们从我那里拉一个分支,我们可以这样合作。

“主”存储库还提供了其他优势,例如易于持续集成,因为可以在“主”存储库上配置推/拉触发器以触发单元测试和构建系统。它还确保每个人都知道最近的'已知'版本的存储库的位置,因此如果需要构建,发布或测试项目,则可以合理地保证'主'存储库已准备就绪。

Git将支持几乎所有您可以想到的工作流程,但即使在一个小团队中,您也不希望存在关于“官方”存储库位置的问题。可能导致的维护噩梦,特别是在您接近发布时,会令人不快。

+1

+1,总是需要有一个官方或发布版本的主存储库。 – 2009-01-21 17:45:49