我知道这个问题之前已经多次被问过不同的伪装,并且我认为我可以在讨论中添加任何东西,这是一个无知的n00b。但是,我不仅对版本控制系统感兴趣,而且对其托管选项,兼容应用程序和Windows兼容性感兴趣。
如果您没有使用多个系统的经验,请告诉我您使用的是什么:版本控制系统,代码托管,实施(vc程序)和操作系统。
我只有一些约束:
很抱歉,如果我听起来像是一个要求其他人做出决定的苛刻的小子。我只想从您的经验中学习,这样我就不必反复切换版本控制系统。
答案 0 :(得分:5)
首先,您可能会从ACM队列中最近发表的论文中受益:
Making Sense of Revision-control Systems
我将概述我最了解的两个,其他人可以告诉你其余的。
<强> SVN:强>
<强> GIT:强>
听起来你可能只想和svn一起去。 听起来你只是想让版本控制下的东西,这样你就不必担心与GIT相关的学习曲线了。
其他人要看,但由于普遍缺乏Windows工具,我没有详细说明:Mercurial,Darcs,Bazaar。 如果您查看mercurial,可以使用bitbucket和google code作为主持人。
答案 1 :(得分:4)
最常用/已知的修订控制系统之一可能是Subversion(SVN)
我每天都在Linux和Windows (用于个人和专业项目)上使用它,包括CLI和图形工具。
请注意,我从来没有为SVN编译任何东西(在Windows上,使用TortoiseSVN是正常的;在Linux Ubuntu上,Ubuntu捆绑的软件包也可以)
对于托管,由于许多项目都使用SVN,因此您有很多可能性,特别是对于开源项目。
如果您需要Distributed revision control软件,可以查看Bazaar,Mercurial和/或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的来源。