SCM和SVN的区别
SCM和SVN有什么区别? git 与 Mercurial 有何不同?
What is the difference between SCM and SVN? And how does git differ from mercurial?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
SCM和SVN有什么区别? git 与 Mercurial 有何不同?
What is the difference between SCM and SVN? And how does git differ from mercurial?
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(5)
SCM一般指软件配置管理,其中包括CMRM(变更管理直至发布管理),还包括版本控制。
SVN 只是一个VCS:版本控制工具。
因此,一种更完整,更完整地涵盖了开发生命周期,同时又具有通用性:Team Fundation Server 或 RTC(Rational Team Concert)都是 SCM 的示例。
SCM generally means Software Configuration Management, which include CMRM (Change Management up to Release Management), including versioning.
SVN is only a VCS: Version Control Tool.
So one is much more complete and covers more completely the development lifecycle, while being generic: Team Fundation Server or RTC - Rational Team Concert - are both examples of SCM.
SCM是软件配置管理,SVN是版本控制系统工具,它是SCM的子集。 VCS 也称为 Revision Control 和 Git,Mercurial 也是 VCS 工具(更具体地说是 Distributed VCS。)
SVN、Git、Mercurial 等都是用于修订控制的工具,SCM 中的流程之一。 SCM还包括构建管理、缺陷跟踪等。
SCM is Software Configuration Management and SVN is a Version Control System tool, which is a subset of SCM. VCS are also called Revision Control and Git, Mercurial are also VCS tools ( Distributed VCS to be more specific. )
SVN, Git, Mercurial, etc. are tools for revision control, one of the processes in SCM. SCM also includes build management, defect tracking etc.
SCM是一个通用术语,并没有什么实际意义。我听过它的意思是“软件配置管理”、“软件变更管理”和“源代码管理”,可能还有其他含义。据我所知,这基本上是营销语言。
如果你认为它的意思类似于后一个短语,那么 SVN(Subversion 的缩写)、git 和 Mercurial 都是特定类型的 SCM 系统。 Git 和 Mercurial 大致相当。存在细微的差异,但个人喜好确实是最重要的。两者都是所谓的分布式版本控制系统,这意味着不必依赖任何一个中央位置。每个使用它们的人都可以独立工作,并且他们也或多或少独立地同步所有内容。
颠覆是集中的。它旨在解决同类问题,但通过强制所有活动都经过每个人都使用的一个位置来实现。这使得很多事情更容易管理,但代价是相当大的灵活性。同样,个人喜好决定了您更喜欢哪个。
SCM is a generic term that doesn't really mean much of anything. I've heard it as meaning "Software Configuration Management", "Software Change Management", and "Source Code Management", and there are probably others. It's basically marketing speak as far as I can tell.
If you view it as meaning something like the latter phrase, then SVN (abbrevation of Subversion), git, and Mercurial are all particular types of SCM systems. Git and Mercurial are roughly equivalent. There are slight differences, but personal preferences are really the majority of what matters. Both are what are called distributed revision control systems, meaning that no one central location must be relied upon. Each person using them can work independently, and they sync everything up more or less independently as well.
Subversion is centralized. It aims to solve the same sorts of problems, but does so by forcing all activity to go through one location that everyone uses. That makes a lot of things easier to manage, but at the cost of quite a large amount of flexibility. Again, personal preference dictates which you would prefer.
SVN (Subversion)是一种提供版本控制功能的工具。开发人员使用此工具签入他们的代码。使用它,我们可以跟踪软件开发过程中对文件/代码所做的更改。
软件配置管理是一种用于跟踪和控制软件开发中的变更的实践。它包括构建、打包和部署软件所需的所有流程。
SVN (Subversion) is a tool that provides versioning functionality.Developers used this tool to check in their codes. Using this we can track down the changes made to the files/codes during the software development process.
Software Configuration Management is a practice that used to track down and control the changes in software development. It includes all the processes needed to build, package, and deploy software.
我尝试过 Git 和 Mercurial(目前使用 Mercurial)。从我的观察来看,Git 似乎更快一些,也许更通用,但这需要一定的学习曲线成本。当我第一次尝试它们时,我没有其他同事可以依赖信息,并且发现 Git 的学习曲线比 Mercurial 陡峭得多。我还发现 Mercurial 在 Windows(这是我的主要开发平台)上使用起来要容易得多。
Mercurial 支持 Git,反之亦然,因此您可以尝试其中一种,然后在发现需要时切换。
I've tried both Git and Mercurial (and at present use Mercurial). From what I've seen Git seems to be a little faster and perhaps more versatile, but that comes at a learning curve cost. When I tried them both out at first, I had no other co-workers to rely on for info and found the learning curve of Git a good deal steeper than that of Mercurial. Also I found Mercurial to be a good deal easier to use from Windows (which is my main dev platform).
Mercurial has support for Git and the opposite is probably true too, so you could probably try out either one and switch later if you found the need.