Vas*_*rte 28 version-control dvcs
那里有很多SCM系统.有些开放,有些是封闭的,有些是免费的,有些是非常昂贵 哪一个(请只选择一个)你会用于一个拥有多个网站的3000多个开发者组织(有些网站背后的链接很慢)?解释为什么选择你选择的那个.(给出一些理由,而不只是"因为".)
SAL*_*000 38
小智 21
我曾在一些拥有1000多名员工的公司工作过,我发现他们都使用Perforce.
我问过"你为什么不用别的东西?SVN?Git?Mercurial?Darcs?" - 他们已经说过了(这对所有公司来说都是一样的) - 当他们做出决定时Perforce,无论是那个,还是SourceSafe,还是CVS - 老实说,考虑到这三个选择,我也会选择Perforce.
"更难"的版本控制系统很难获得如此多的人的关注,当你的大部分软件团队在彼此18英尺范围内工作时,DCVS的许多好处都不那么有用.
Perforce有许多API钩子供开发人员使用,而对于集中式系统,它有很多chutzpah.
我并不是说这是最好的解决方案 - 但我至少看过Perforce工作的一些非常大的公司,而且它几乎无处不在.
截至2015年,最重要的因素是使用分布式版本控制系统(DVCS).使用DVCS的主要好处是:通过减少源代码操作的摩擦,允许在多个级别进行源代码协作.这对于1000多个开发者组织尤为重要.
单个开发人员签入与协作活动分离.轻量级登记表可以在短时间内(每小时或每天多次登记)鼓励清洁单位的独立工作.随着系统在分布式组织中建立,协作自然会以不同的,通常更长的时间尺度(每天,每周,每月与其他人同步)进行处理.
在DVCS选项中,你应该只使用Git并利用GitHub或Bitbucket的优秀社区.对于大型私人组织,内部社区和内部源代码托管可能很重要(有供应商销售私人托管系统,如Atlassian Stash和其他人).
使用Git的主要原因是它是最受欢迎的DVCS.因为这:
Git很好地集成到了广泛的开发工具链中
Git是大多数开发人员所熟知和使用的
Git是有据可查的
作为Git的替代品,Mercurial也非常出色.Mercurial比Git具有更清晰,更正交的命令集.在2000年代后期,它曾经比Windows系统上的Git更好地支持,主要是因为核心开发人员更关心Windows.
对于那些想用的,而不是一个GUI谁git
和hg
在命令行上,SourceTree是一个伟大的Windows和OS X应用程序,它提出了一个干净的界面既Git和水银.
截至2010年,我推荐水银与TortoiseHG.它是Windows支持和分布式版本控制功能的最佳组合.
从2006年到2009年,我推荐了Subversion(SVN),因为它是免费的,并且与大多数IDE有很好的集成.对于组织中旅行或喜欢更分散的模型的人来说,他们可以使用Git进行所有本地工作,但是当他们想要共享代码时仍然会提交到SVN存储库.这是集中式和分布式系统之间的重要平衡.请参阅Git-SVN速成课程以开始使用.使用SVN的最后也许是最重要的原因是TortoiseSVN,一个用于SVN的Windows客户端,可以让任何人右键单击访问存储库.在我的公司,这已被证明是向非开发人员提供存储库访问权限的好方法.
任何 DVCS(BitKeeper、git、Bazaar、Mercurial 等)因为是分布式的,所以会减少中央“规范”SCM 服务器上的负载。需要注意的是,它们是相当新的技术,没有多少人会熟悉它们的使用。
如果您想坚持使用较旧的集中式模型,如果您负担得起,我会推荐 Perforce;如果您不想为 Perforce 付费,我会推荐 Subversion。我建议使用 subversion 而不是 CVS,因为它有足够多的功能,值得使用,但又足够相似,已经了解 CVS 的开发人员仍然会感到舒服。