SCM和SVN有什么区别? git与mercurial有何不同?
答案 0 :(得分:32)
SCM通常意味着Software Configuration Management,其中包括CMRM(变更管理到版本管理),包括版本控制。
SVN只是VCS: Version Control Tool。
因此,一个更完整,更全面地涵盖开发生命周期,同时具有通用性:Team Fundation Server或RTC - Rational Team Concert - 都是SCM的示例。
答案 1 :(得分:13)
SCM是软件配置管理,SVN是版本控制系统工具,是SCM的子集。 VCS也称为版本控制和Git,Mercurial也是VCS工具(分布式VCS更具体。)
SVN,Git,Mercurial等是修订控制的工具,是SCM中的一个过程。 SCM还包括构建管理,缺陷跟踪等。
答案 2 :(得分:7)
SCM是一个通用术语,并不是真正意义上的任何东西。我听说它的意思是“软件配置管理”,“软件变更管理”和“源代码管理”,可能还有其他的。据我所知,这基本上就是市场营销。
如果你认为它意味着后一个短语,那么SVN(Subversion的缩写),git和Mercurial都是特定类型的SCM系统。 Git和Mercurial大致相同。虽然存在细微差别,但个人偏好确实是最重要的。两者都是所谓的分布式修订控制系统,这意味着不能依赖任何一个中心位置。每个使用它们的人都可以独立工作,并且他们或多或少地独立地同步所有内容。
Subversion是集中的。它旨在解决相同类型的问题,但是通过强制所有活动通过每个人使用的一个位置来实现。这使得很多事情变得更容易管理,但代价是相当大的灵活性。同样,个人偏好决定了你更喜欢哪种。
答案 3 :(得分:4)
我尝试过Git和Mercurial(目前使用的是Mercurial)。从我所看到的Git看起来更快,也许更多功能,但这需要学习曲线成本。当我最初尝试它们时,我没有其他同事依赖信息,发现Git的学习曲线比Mercurial更陡峭。此外,我发现Mercurial在Windows(这是我的主要开发平台)中更容易使用。
Mercurial支持Git,反之亦然,所以你可以尝试使用其中一个,如果你发现需要,可以稍后再切换。
答案 4 :(得分:3)
SVN(Subversion)是一种提供版本控制功能的工具。开发人员使用此工具检查其代码。使用此功能,我们可以跟踪软件开发过程中对文件/代码所做的更改。
软件配置管理是一种用于跟踪和控制软件开发变更的做法。它包括构建,打包和部署软件所需的所有过程。