Version Control System

        版本控制系统(version control system),是一种记录一个或若干文件内容变化,以便将来查阅特定版本修订情况的系统。版本控制系统不仅可以应用于软件源代码的文本文件,而且可以对任何类型的文件进行版本控制。用的比较多的如svn,git等。

       在计算机软件工程中,修订控制是跟踪和控制源代码更改的任何类型的实践。 软件开发人员有时会使用修订控制软件来维护文档和配置文件以及源代码。

当团队设计,开发和部署软件时,通常会将同一软件的多个版本部署在不同的站点中,并使软件开发人员同时处理更新。 软件的错误或特征通常仅出现在某些版本中(因为某些问题的修复以及程序开发时引入的其他问题)。因此,出于定位和修复错误的目的,能够检索和运行不同版本的软件以确定问题发生在哪个版本中是至关重要的。可能还需要同时开发两个版本的软件:例如,一个版本修复了错误,但没有新功能(分支),而另一个版本是处理新功能(主干)的地方。

在最简单的层面上,开发人员可以简单地保留程序的不同版本的多个副本,并适当地标记它们。这种简单的方法已经在许多大型软件项目中使用。虽然这种方法可行,但由于必须维护许多几乎相同的程序副本,因此效率很低。这需要开发人员进行大量自律,并且经常会导致错误。由于代码库是相同的,它还需要向一组开发人员授予读写执行权限,这增加了管理权限的人员的压力,这样代码库就不会受到损害,这增加了更多的复杂性。因此,开发了一些自动化部分或全部修订控制过程的系统。这确保了版本控制步骤的大部分管理隐藏在幕后。

此外,在软件开发,法律和商业实践以及其他环境中,团队编辑单个文档或代码片段变得越来越普遍,团队成员可能在地理上分散,可能追求不同甚至相反的兴趣。 。在这种情况下,跟踪和说明文档和代码更改所有权的复杂版本控制可能非常有用甚至是必不可少的。

修订控制还可以跟踪配置文件的更改,例如通常存储在Unix系统/etc/usr/local/etc上的系统。这为系统管理员提供了另一种轻松跟踪所做更改的方法,以及在需要时回滚到早期版本的方法。

原文地址:https://www.cnblogs.com/gs-34/p/10476111.html