Git学习笔记前言之版本控制
想学习Git,我们首先要理解版本控制(Revision control)。
版本控制
定义:是一种在开发的过程中用于管理我们对文件、目录或工程等内容的修改历史,方便查看更改历史记录,备份以便恢复以前的版本的软件工程技术。可以简单理解为版本迭代记录或版本管理器。
作用:
- 管理跨区域多人协同开发,提高开发效率,降低开发代价;
- 追踪和记载一个或者多个文件的历史记录;
- 可以保护源代码和文档;
常见的版本控制工具: Git,SVN(Subversion),VSS(Micorosoft Visual SourceSafe),CVS(Concurrent Versions System),TFS(Team Foundation Server)和RCS(GNU Revision Control System)等,当然还有很多,而现在影响力最大且使用最广泛的是Git与SVN
版本控制分类:
- 本地版本控制:在本地电脑记录文件或项目的每一个版本,一般适合个人使用,如RCS;
如图: - 集中版本控制:所有版本数据都保存在服务器上,参与开发的人员需要从服务器上同步更新或上传自己的修改,如SVN;
如图: 所有的版本数据都存在服务器上,开发人员的本地电脑只有自己以前所同步的版本,如果不连网的话,用户就看不到历史版本,也无法切换版本,或在不同分支工作。而且,所有数据都保存在单一的服务器上,有很大的风险这个服务器会损坏,这样就会丢失所有的数据,当然可以定期备份。 - 分布式版本控制:所有版本信息仓库全部同步到本地的每个用户,这样就可以在本地查看所有版本历史,可以离线在本地提交,只需在连网时push到相应的服务器或其他用户那里。由于每个用户那里保存的都是所有的版本数据,只要有一个用户的设备没有问题就可以恢复所有的数据,但这增加了本地存储空间的占用。如Git
如图 Git和SVN的主要区别: 1.SVN是集中式版本控制系统,版本库是集中放在中央服务器的,而工作的时候,用的都是自己的电脑,所以首先要从中央服务器得到最新的版本,然后工作,完成工作后,需要把自己做完的活推送到中央服务器。集中式版本控制系统是必须联网才能工作,对网络带宽要求较高。 2.Git是分布式版本控制系统,没有中央服务器,每个人的电脑就是一个完整的版本库,工作的时候不需要联网了,因为版本都在自己电脑上。协同的方法是这样的:比如说自己在电脑上改了文件A,其他人也在电脑上改了文件A,这时,你们两之间只需把各自的修改推送给对方,就可以互相看到对方的修改了。Git可以直接看到更新了哪些代码和文件!Git是目前世界上最先进的分布式版本控制系统。
第一次写,有误地方欢迎指正,下一篇文章会总结Git 参考: [1]: https://mp.weixin.qq.com/s/Bf7uVhGiu47uOELjmC5uXQ
|