GIT或SVN或......适用于前端开发人员

dia*_*ich 2 svn git version-control mercurial frontend

我最近开始在工作中将一些项目导入Subversion存储库,在接下来的几周内,我期望团队中的每个人都对自己的源代码管理负责.

我选择SVN而不是GIT的原因是我希望团队中的每个人,包括设计师,前端人员,集成商......负责他们自己的SCM,所以我希望如果他们使用GUI管理他们的工作,事情会更快地发生(用于Mac的Cornerstone和用于Windows的Tortoise SVN).我知道有一些GIT GUI,SmartGit在一分钟看起来最吸引人,但似乎没有像他们的SVN同行那样有能力.此外,我觉得通过不使用命令行来处理DVCS,我们会在翻译中丢失一些东西(而我使用GUI来管理SVN中的项目非常高兴).

问题是分布式解决方案正在快速超越集中式解决方案,所以我想知道现在是否真的值得花费额外的投资,而不是必须在6个月后将所有内容迁移到DVCS中并投入时间?另一种看待它的方式是SVN在此期间将是一个相对无痛的步骤,如果我们以后决定迁移到DVCS,这将为我们做更充分的准备.

感谢您的想法和经验.

*旁白:由于多种原因,我更喜欢每个SVN存储库的多个项目.然而,这意味着Atlassian的Fisheye的统计数据不那么有意义,而且更加混乱.如果我们决定使用GIT,那么每个项目将有1个存储库.

tgh*_*ghw 9

关于DVCS,要记住的一件事是它实际上并不是关于它的分布式问题,而是关于分支和合并.DVCS使分支和合并变得更加容易,以至于每个开发人员/设计人员/前端人员基本上都有自己的私有分支 - 他们的本地仓库.这样,他们可以并行工作,而不会踩到对方的脚趾.这意味着他们可以每隔几个小时检查代码,而不是等待几天,直到他们完成所有工作以检查它.

我建议你看看Mercurial.它在TortoiseHg中有一个很好的GUI,我发现它比Git更容易上手,因为它一开始并没有为你提供所有高级的东西,但它仍然拥有所有强大的功能在系统中很舒服.

  • 人们有时害怕将尚未完成的代码强加给别人.这可能是错的,但它仍然会发生. (3认同)
  • 如果您等待几天才能在任何SCM中检入代码,那么您做错了。 (2认同)
  • 你似乎很困惑rlovtang。拥有CI是不提交代码的主要原因之一,因为任何未经100%完成和测试的提交都会破坏CI的构建,这非常非常糟糕。因此,CI鼓励减少签到。使用DVCS,只有按PUSH键才可以发生CI触发,您可以执行所有想要的COMMIT (2认同)