源代码管理与版本控制?

哪一个存储源代码版本的系统的正确名称,如SVN或TFS?

我一直称它为源代码控制,但像维基百科这样的地方称之为版本控制?

为了让这个更复杂的网站像这样有两个标签?


  • 版本控制是更通用的术语,用于源代码管理工具,也用于其他工具(Word,OpenOffice,...)。 它引用了一个版本。

  • 源代码管理提供了分支和合并的版本控制,并非所有修订工具都可用(Word不是源代码管理,但提供版本控制功能)

  • 版本控制是比源代码管理更通用的术语,因为它管理任何东西的版本(源或二进制文件或任何类型的文档)

  • 注意:SCM代表源代码管理,也代表软件代码管理,以反映相同的想法(不仅仅是“来源”被管理)。
    Plus SCM引入了文件组之间依赖关系的概念。
    它还可以包括变更生命周期的概念(开始变更,结束变更......),这导致变更请求系统。


    我喜欢这样想:

    修订控制是他们所做的。

    源代码控制是我使用它们的。

    :-)


    有三个同义词描述几乎相同的事物:

  • 修订控制 。 处理修订(文档/工件评论以及文档/工件的后续版本)或编号(作为修订概念的抽象)。
  • 源代码管理 。 处理文本(源文件),而不是二进制文件。 只要更容易执行比较并获得文本文件之间的差异,这种差异就起到了很大的作用。 有一系列与源代码控制相关的基本工具: diffdiff3patch等。这套工具可以扩展成源代码控制解决方案。 这种解决方案的例子是RCS。
  • 源代码管理 。 处理源代码中更复杂的操作:将其存储在repository ,并可创建单独的branches 。 还假定分支可以merged 。 源代码管理的另一部分是tagging 。 源代码管理的一个问题是它具有缩写SCM。 这个缩写用于描述更广泛的一系列活动 - 软件配置管理。 有很多困惑,因为源代码管理是软件配置管理的一个子集,它也处理诸如构建管理,部署管理,持续集成,依赖管理,发布管理等活动。
  • 版本控制 。 它被用来代替源代码管理这样的术语,以避免模糊。 它融合了版本控制和源代码控制的概念,使其能够描述几乎相同的概念。 目前,考虑到解决版本控制任务的各种工具(CVS,SVN,Git,Mercurial,ClearCase,Perforce,VSS等),术语版本控制,源代码控制都被替换为版本控制。源控制同时进行。
  • 图片更清楚地说明所有这些概念之间的区别:

    在这里输入图像描述

    链接地址: http://www.djcxy.com/p/92239.html

    上一篇: Source control vs. Revision Control?

    下一篇: Transferring legacy code base from cvs to distributed repository (e.g. git or mercurial). Suggestions needed for initial repository design