33

SCM和SVN有什么区别?git 与 mercurial 有何不同?

4

5 回答 5

38

SCM一般指软件配置管理,其中包括CMRM(Change Management up to Release Management),包括版本管理。

SVN 只是一个VCS:版本控制工具

所以一个更完整,涵盖更完整的开发生命周期,同时是通用的:Team Fundation Server 或 RTC - Rational Team Concert - 都是 SCM 的示例。

于 2011-05-03T15:52:06.670 回答
16

SCM 是软件配置管理,SVN 是版本控制系统工具,它是 SCM 的子集。VCS 也称为 Revision Control 和 Git,Mercurial 也是 VCS 工具(更具体地说是分布式 VCS。)

SVN、Git、Mercurial等都是修订控制的工具,是SCM中的流程之一。SCM 还包括构建管理、缺陷跟踪等。

于 2011-05-03T15:59:28.177 回答
9

SCM 是一个通用术语,实际上并没有什么意义。我听说它的意思是“软件配置管理”、“软件变更管理”和“源代码管理”,而且可能还有其他含义。据我所知,这基本上是市场营销。

如果您将其视为类似于后一个短语的含义,那么 SVN(Subversion 的缩写)、git 和 Mercurial 都是特定类型的 SCM 系统。Git 和 Mercurial 大致相当。有细微的差别,但个人喜好确实是最重要的。两者都是所谓的分布式修订控制系统,这意味着不必依赖任何一个中央位置。每个使用它们的人都可以独立工作,并且他们或多或少地独立同步所有内容。

颠覆是中心化的。它旨在解决相同类型的问题,但通过强制所有活动通过每个人都使用的一个位置来实现。这使得很多事情更容易管理,但代价是相当大的灵活性。同样,个人喜好决定了您更喜欢哪个。

于 2011-05-03T15:54:45.393 回答
5

SVN(Subversion)是一个提供版本控制功能的工具。开发人员使用这个工具来检查他们的代码。使用它,我们可以跟踪在软件开发过程中对文件/代码所做的更改。

软件配置管理是一种用于跟踪和控制软件开发变化的实践。它包括构建、打包和部署软件所需的所有过程。

于 2015-01-05T08:19:45.987 回答
4

我已经尝试过 Git 和 Mercurial(目前使用 Mercurial)。从我所看到的情况来看,Git 似乎更快一些,而且可能更通用,但这是以学习曲线为代价的。当我一开始尝试这两种方法时,我没有其他同事可以依靠它来获取信息,并且发现 Git 的学习曲线比 Mercurial 的要陡峭得多。此外,我发现 Mercurial 在 Windows(这是我的主要开发平台)上更易于使用。

Mercurial 支持 Git,反之亦然,因此您可能可以尝试其中一个,如果您发现需要,稍后再切换。

于 2011-05-03T18:13:04.417 回答