DVCS Repo设计 - 使用分支机构或单独的回购单独分离dev?

Abe*_*ker 9 git workflow mercurial dvcs repository

我正在制定一项"行动计划",将源代码控制从SourceSafe 6.0(ugh)迁移到DVCS,如git或Mercurial(最好是git ATM).现在我正在研究未来的存储库设计,即分支布局以及如何配置'中央'/祝福的存储库.

现在,我只是真的使用git作为将业余爱好开源代码推送到GitHub的手段,并且最近用于保持我自己的私人仓库工作,这样我对代码修订的控制比SourceSafe允许的更细粒度.不幸的是,除了使用简单的功能分支之外,我还没有在我的回购中体验到广泛的分支/合并场景或其他半复杂的git用法.换句话说,我没有很多关于DVCS的整体经验,所以我认为我不能预测我们将在这里使用的典型工作流程,因此我无法自己创建匹配的存储库设计.

相反,我花了很多时间阅读其他人的git工作流程,并尝试将这些策略应用于我们在工作中发布代码的方式.无论如何,我认为这是一个开始的地方,我们可以随着时间的推移改变它.

现在,在看了很多git工作流之后,我真的很喜欢Vincent Driessen概述的一个特定的工作流,它似乎有一个非常干净的分支布局,几乎适合我们在工作中的部署(或者应该,无论如何):

使用分支单独开发/稳定


使用分支单独开发/稳定

但是,我在Joel Spolsky的HgInit网站上看到一个不同的例子后,我承认有点困惑,它似乎更多地关注单独的存储库而不是分支开发和稳定代码的分支:

使用Repos分离Dev/Stable


使用Repos分离Dev/Stable

问题


这个以存储库为中心的分离层是否只是一个与git没有太多用处的Mercurial事物?如果没有,那么使用这种方法比使用分支来分离dev/stable代码有什么优点/缺点?或者我只是完全误解了这里发生了什么?:-)

任何输入将不胜感激; 如果这个问题由于我沉浸在无知中而浪费时间,我会事先道歉.

Ry4*_*ase 6

最后,这完全取决于您的偏好.我喜欢克隆作为Joel封面的分支模型,但它们都是有效的.这是一篇很棒的文章,涵盖了Mercurial和Git中的几个不同的分支模型(尽管标题):

http://stevelosh.com/blog/2009/08/a-guide-to-branching-in-mercurial/

我最大的建议是不要过度思考.我知道你需要一个管理层可以买入的具体建议,但如果我的经验重演你自己,你会发现人们非常认真地对待这个分散的部分.你将有即兴团队在网络共享方面做一点努力,你将拥有开发者克隆和拉动,以及各种各样的临时组织.只要你有一些关键的回购,坚定,明确的期望(例如:"必须编译"或"必须可以发送"或"必须有吉姆的祝福")你会没事的.