关于Git的版本控制

1.关于版本控制?

版本控制是一种记录文件或文件集随时间变化的系统,以便您以后可以调用特定版本,如果您是图形或Web设计人员并希望保留图像或布局的每个版本(您肯定希望这样),则使用版本控制系统(VCS)它允许您将所选文件还原回以前的状态,将整个项目还原回以前的状态,比较一段时间内的更改,查看最后修改了哪些可能导致问题的人,谁引入了问题以及何时等等。使用VCS通常也意味着如果您搞砸了或丢失文件,您可以轻松恢复。此外,您只需很少的开销即可获得所有这些。

。本地版本控制

一种比较流行的VCS工具是一个名为RCS的系统,它现在仍然与许多计算机一起分发。RCS的工作原理是在磁盘上以特殊格式保存补丁集(即文件之间的差异); 然后,它可以通过添加所有补丁来重新创建任何文件在任何时间点的样子。

本地版本控制图解

。集中版本控制系统

人们遇到的下一个主要问题是他们需要与其他系统上的开发人员协作。为了解决这个问题,开发了集中版本控制系统(CVCS)。这些系统(例如CVS,Subversion和Perforce)具有包含所有版本化文件的单个服务器,以及从该中心位置检出文件的许多客户端。多年来,这一直是版本控制的标准。集中版本控制的此设置提供了许多优势,尤其是在本地VCS上。例如,每个人都知道项目中的其他人正在做什么。管理员可以对谁可以做什么进行细粒度的控制,管理CVCS比处理每个客户端上的本地数据库要容易得多。但是集中版本控制系统存在一个严重缺陷就是如果如果集中式服务器发生故障那么所有的人都无法进行写作,如果服务器损坏那么之前所有的更改历史将会丢失。

集中式版本控制系统

。分布式版本控制系统

为了解决集中式版本控制系统的缺陷从而产生了分布式版本控制系统,分布式版本控制系统(DVCS)。在DVCS(例如Git,Mercurial,Bazaar或Darcs)中,客户端不只是查看文件的最新快照; 相反,它们完全镜像了存储库,包括其完整的历史记录。因此,如果任何服务器死亡,并且这些系统通过该服务器进行协作,则可以将任何客户端存​​储库复制回服务器以还原它。每个克隆都是所有数据的完整备份。

分布式版本控制

原文地址:https://www.cnblogs.com/yuanchao-blog/p/10473190.html