1.1开始学习 - 关于版本控制

本文将为您详细介绍Git版本控制系统的概念、使用方法及其优势,包括本地与集中式版本控制的区别、分布式版本控制的特点,以及如何利用Git进行高效协作与文件管理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这个章节将会介绍开始使用Git。我们将从版本控制的背景,如何在你的系统上使用Git到最后如何利用它工作来介绍。到章节的最后你将会明白为什么Git那么流行,你为什么要使用它和怎样使用它。

关于版本控制

什么是版本控制,为什么你应该关心它呢?版本控制是一个随着时间的推移记录你更改某个文件或者文件集的系统,这样你可以在以后回顾你之前的特定版本。以在本书中你将对软件源代码控制为例,但在现实中你可以对任何类型的文件这样做。

如果你是一个图形或者网站设计者而且想要去保存你的图片和布局的每一个版本(你肯定非常想要这么做),那将会是一件很明智的事情去使用一个版本控制系统。它允许你恢复当前文件到之前的状态,恢复整个工程到之前的版本,随着时间的推移比较文件或工程的改变,看到谁最后修改了某个文件可能会导致问题,谁在什么时候提出了一个新的问题和其他更多。使用一个版本控制系统同时意味着如果你把工程搞砸或丢失文件,你可以很轻松的回复。另外,你可以得到这一切只需要小小的开销。


本地版本控制系统

很多人选择的版本控制系统的思想是复制文件到另外一个文件夹(如果他们比较聪明,可能会给文件夹加时间标记)。这个方法非常常见因为太简单,但它也极容易出错。

你很容易忘记把文件放入了哪个目录并且不小心写了错误的文件或者复制过来了你不想要的文件。

去解决这个问题,编程人员很早之前开发了本地版本管理系统带有一个简单的数据库保存所有对文件的改变。


本地版本控制


RCS是非常流行版本控制工具中的一个,到今天还分布在很多电脑中。即使是当前流行的Mac OS X操作系统当你安装开发工具时还会包含rcs命令。RCS通过一个特殊的格式把补丁(即,文件之间的差异)保存在磁盘上来工作,然后它可以再重新创建在任何时候添加了补丁的文件。



集中式版本控制系统

人们遇到的下一个主要问题是他们需要和使用其他操作系统的开发者协调工作。为了解决这个问题,开发了集中式版本控制系统(CVCSs)。这些系统,比如CVS,Subversion和Perforce,有一个单独的服务包含所有版本的文件,同时大量的客户端从那个中心位置查看文件。集中式版本控制系统在很多年的时间里成为了版本控制的标准。

这种设置提供了很多优点,特别是对比本地版本控制。举个例子,每个人都知道其它人在这个工程上做到什么程度。管理员可以很好授权哪些人可以做哪些事情。相比较于处理每个客户端的本地数据库,管理集中式版本控制系统更容易。


集中式版本控制


可是,这种配置也有很多严重的缺点。最突出的是集中式服务代表的单点故障。如果那个服务器宕机一个小时,那么在这一个小时内每人可以协同工作或者保存它们的工作。如果保存中央数据库的磁盘损坏,并且你没有保存合适的备份,你失去了绝对的一切--这个工程的整个历史除非人们碰巧在本地机器上有工程的快照。本地版本控制系统有着同样的问题——当你把这个工程历史保存在一个单独的地方时,面临着失去一切的风险。



分布式版本控制系统

这是分布式版本控制系统(DCVSs),对于一个DCVS(比如Git,Mercurial,Bazaar 或者Darcs),客户端不仅仅检查文件的最新快照;它们关心整个仓库。因此,如果任务服务器挂了,而这些系统是通过它合作,任何客户端仓库可以复制备份到服务器来恢复它。每一次克隆都是所有数据的完整备份。


分布式版本控制


此外,许多这些系统可以很好的处理一起工作的多个远程仓库,这样你就可以与不同的人群以不同的方式在一个项目中进行合作。这使你可以设置多种类型的工作流程而在集中式系统里是不可能的,比如分层模型。



原文:http://git-scm.com/book/en/v2/Getting-Started-About-Version-Control

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值