像SVN或TFS这样存储源代码版本的系统,应该用什么正确的名字来称呼?
我一直都叫它源代码控制,但维基百科之类的地方称其为修订控制?
使问题更加复杂的是,像这个网站一样的地方同时标记了两者?
像SVN或TFS这样存储源代码版本的系统,应该用什么正确的名字来称呼?
我一直都叫它源代码控制,但维基百科之类的地方称其为修订控制?
使问题更加复杂的是,像这个网站一样的地方同时标记了两者?
版本控制是一个比较通用的术语,用于管理任何类型的版本(源代码或二进制文件或任何文档)。
源代码控制提供了分支和合并的版本控制功能,在不是所有版本控制工具中都可以使用(例如Word不是源代码控制工具,但提供版本控制功能)。
修订控制是一个更通用的术语,用于源代码控制工具以及其他工具(如Word、OpenOffice等),它引用了一个版本。
注:SCM代表源代码管理,但也可以代表软件代码管理,以反映相同的概念(不仅管理“源代码”)。
此外,SCM引入了文件组之间依赖关系的概念。
它还可以包括变更生命周期的概念(开始变更、关闭变更等),这导致变更请求系统。
有三个几乎描述同一事物的同义词:
diff
, diff3
, patch
等。这组工具可以扩展为源代码控制解决方案。这样的解决方案的示例是RCS。存储库
中。还假定分支可以合并。源代码管理的另一部分是标记
。源代码管理的一个问题是它有缩写SCM。该缩写用于描述更广泛的活动——软件配置管理。存在很多混淆,因为源代码管理是软件配置管理的子集,后者还涉及诸如构建管理、部署管理、持续集成、依赖项管理、发布管理等活动。下面的图片更清晰地说明了所有这些概念之间的区别:
版本控制 是他们做的事情。
源代码控制 是我用他们来完成的事情。
:-)
某些系统(如SVN)有一个术语“修订版本”,它代表与存储库中所有文件的特定版本集相关联的数字。在这样的系统中,“修订版本”(SVN修订版本)基本上意味着“版本”(源代码版本)。否则,“修订控制”和“版本控制”是相同的术语。
没有一个“正确”的名称,常见的四个名称是:
另一个名称是:版本控制
根据该网站使用的标签,“源代码控制”是最受欢迎的(这很正常,因为该网站是关于编程的):
MIL-STD 973 描述了配置管理。
软件配置管理的做法完全相同。
请参考CMMI,了解SCM/CM的详细解释。
你所说的系统是版本控制系统。它们用于版本控制。
旧版SCCS是源代码控制系统。
源代码控制系统维护修订历史记录。
比如说你将一个文件从修订版本1.1更改到1.2、1.3。
在1.3时,我们发布了“Awesome Edition”产品。
1.3是一个修订版本,AwesomeEdition是一个版本。
在像CVS这样的系统中,修订版本会随着编号的变化而发生变化,标签则标记版本。
SVN类型的存储库修订编号会让期望MIL-STD行为的政府客户感到困惑。
关于变更管理的标准,最好的事情就是有很多可以选择的。
我添加了一条评论,但我认为它也可以作为答案。我的观点与其他已经表达的评论有一点不同。
总的来说,SCM(软件配置管理)或(源代码管理-衍生术语)很容易理解,因为它被用作一个包含版本控制和其他技术(如基线管理)的统称。请参见http://en.wikipedia.org/wiki/Software_configuration_management。一般现代SCM工具,从CVS到Git都包括这两种技术和许多其他有用的功能,如:权限控制、权限管理、安全审计、允许自定义SCM流程(ClearCase)、与构建系统和问题跟踪软件集成等等...我认为列表是开放的,因为任何与软件更改和管理相关的内容都可以输入在这里。
因此,主要的困惑来自于理解Revision Control、Version Control和可能的Source Control之间的区别。首先,所有包含"source"的术语都是衍生术语,也就是说,一些人对所有这些通用术语(配置管理-什么是那?)感到不满,并坚持他们特别关注源代码,不关心其他使用情况;这是一个公平的观点。
关于版本控制与修订控制,我认为在像 SVN、Git 这样的工具上,正确的术语应该是修订控制。在我看来,使用“修订控制”一词强调的是管理(不仅仅是)源代码文件的变更(除了管理版本),而“版本控制”则强调仅管理文件的版本。SCM > Revision Control > Version Control