修订控制和托管比较

时间:2009-08-22 22:12:54

标签: version-control open-source repository

我知道这个问题之前已经多次被问过不同的伪装,并且我认为我可以在讨论中添加任何东西,这是一个无知的n00b。但是,我不仅对版本控制系统感兴趣,而且对其托管选项,兼容应用程序和Windows兼容性感兴趣。

如果您没有使用多个系统的经验,请告诉我您使用的是什么:版本控制系统,代码托管,实施(vc程序)和操作系统。

我只有一些约束:

  • 我想在Linux和Windows中使用 well 的程序。这意味着至少有一个等效的命令行界面。
  • 实现必须足够稳定,我不必在Linux上不断重新编译,而且从不必须在Windows上编译。
  • 版本控件必须至少有一个兼容的免费代码托管站点(用于开源项目)。如果托管网站本身是开源的,那将是理想的。
  • 版本控制标准必须是开源的。

很抱歉,如果我听起来像是一个要求其他人做出决定的苛刻的小子。我只想从您的经验中学习,这样我就不必反复切换版本控制系统。

您会推荐哪种与Windows兼容的主要版本控制系统?

3 个答案:

答案 0 :(得分:5)

首先,您可能会从ACM队列中最近发表的论文中受益:
Making Sense of Revision-control Systems

我将概述我最了解的两个,其他人可以告诉你其余的。

<强> SVN:

<强> GIT:

  • 极其强大的SCM
  • 源树的每次结帐时的完整源历史记录。
  • 不是最好的窗户支持,但目前正在取得很大进步。 http://code.google.com/p/msysgit/
  • 许多免费主机:githubrepo.or.cz
  • 现在的“酷孩子”在博克。

听起来你可能只想和svn一起去。 听起来你只是想让版本控制下的东西,这样你就不必担心与GIT相关的学习曲线了。

其他人要看,但由于普遍缺乏Windows工具,我没有详细说明:Mercurial,Darcs,Bazaar。 如果您查看mercurial,可以使用bitbucketgoogle code作为主持人。

答案 1 :(得分:4)

最常用/已知的修订控制系统之一可能是Subversion(SVN)

我每天都在Linux和Windows (用于个人和专业项目)上使用它,包括CLI和图形工具。

  • Windows:我经常使用TortoiseSVN
  • Windows / Linux:我通常使用Eclipse及其Subversive插件
  • Windows / Linux:CLI中的“svn”命令也很棒,特别是当你想使用一些脚本来自动化struff时。

请注意,我从来没有为SVN编译任何东西(在Windows上,使用TortoiseSVN是正常的;在Linux Ubuntu上,Ubuntu捆绑的软件包也可以)


对于托管,由于许多项目都使用SVN,因此您有很多可能性,特别是对于开源项目。

  • 例如,Google code允许您使用SVN来托管您的项目
  • SourceForgesee)相同,如果我没记错的话。
  • 当然,您还有其他可能性,例如Assembla


如果您需要Distributed revision control软件,可以查看BazaarMercurial和/或Git等工具。其中每一个都被一些大型项目使用(好吧,至少对于Bazaar(MySQL使用它,我认为)和Git(Linux内核使用它))

我在Linux和Windows上都使用过Bazaar,但仅限于命令行;从来没有遇到任何问题。我知道有适用于Linux和Windows的图形工具,但从未使用过那些,所以我真的不能说更多。


不过,如果你不需要分布式系统,我会毫不犹豫地选择Subversion。

答案 2 :(得分:2)

我使用Git,主要是因为我在许多工作站(在家或在工作中)开发,并且DVCS更容易复制我的存储库,但也用于分支,合并工具和初始化的速度并将代码导入新的存储库。

  
      
  • 我想使用一个适用于Linux和Windows的程序。这意味着至少有一个等效的命令行界面。
  •   

git”是您的CLI,可以在DOS会话中使用,也可以在bash中使用。

  
      
  • 实现必须足够稳定,以至于我不必在Linux上不断重新编译,而且我永远不必在Windows上编译。
  •   

msysgit现在在Windows上非常稳定,如问题“Git under windows: MSYS or Cygwin?”中所述(不需要Cygwin)。

  
      
  • 版本控件必须至少有一个兼容的免费代码托管站点(用于开源项目)。如果托管网站本身是开源的,那将是理想的。
  •   

GitHub是免费代码托管的一个很好的例子

  
      
  • 版本控制标准必须是开源的。
  •   

git.git查看Git的来源。