一篇文章带你了解热门版本控制系统——Git

一篇文章带你了解热门版本控制系统——Git这篇文章会介绍到关于版本控制的相关知识以及版本控制神器Git
我们可能在生活中经常会使用GitHub网页去查询一些开源的资源或者项目,GitHub就是基于Git而产生的平台
接下来让我们来细细道来~

Git是一门非常简单的技术,但在实际开发中占有很重要的地位,请务必了解掌握
版本控制在介绍Git之前我们先来介绍一个名词:版本控制
版本控制概念我们在标题已经提到了Git的最大作用:版本控制
那么我们先来了解一下版本控制:
  • 版本控制是指对软件开发过程中各种程序代码、配置文件及说明文档等文件变更的管理,是软件配置管理的核心思想之一 。
通俗来说的话:
  • 版本控制用于在开发的过程中管理我们的文件
  • 我们可以查看文件、目录或工程等内容的修改历史,方便查看更改历史记录,备份以便恢复以前的版本 。
例如我们所使用的产品有Version,版本常分为1.0,2.0...版本区分
但是我们所淘汰掉的版本是不会被直接抛弃删除,而是被像Git这样的软件所保存传送到相关仓库中
又或者我们的软件开发之后,会由许多人进行开发修改
但是并非所有人的开发版本都会被保留使用,那些被淘汰的版本就会被像Git这样的软件所保存传送到相关仓库中
版本控制的优势:
  • 实现跨区域多人协同开发
  • 追踪和记载一个或者多个文件的历史记录
  • 组织和保护你的源代码和文档
  • 统计工作量
  • 并行开发、提高开发效率
  • 跟踪记录整个软件的开发过程
  • 减轻开发人员的负担,节省时间,同时降低人为错误
总而言之版本控制在我们的实际开发中占有很重要的地位!
多人开发就必须要使用版本控制,否则无法控制项目的开发状态
版本控制工具我们目前常用的控制工具大致分为五种:
  • Git
  • SVN(Subversion)
  • CVS(Concurrent Versions System)
  • VSS(Micorosoft Visual SourceSafe)
  • TFS(Team Foundation Server)
其中SVN属于版本控制的老大哥,但目前大部分公司已经不再使用
我们目前学的Git就属于版本控制的主流工具,基本上大部分公司都在使用Git工具
版本控制分类我们通常将版本控制分为三类:
  1. 本地版本控制
  • 概念:
本地版本控制通常用于个人开发,我们将我们自己的项目进行版本控制,在迭代后将原版本的项目原件保留下来
记录文件每次的更新,可以对每个版本做一个快照,或是记录补丁文件,如RCS 。
  • 优缺点:
只能用于个人开发,多人开发在多台计算机上,本地版本控制无法满足
  1. **集中版本控制 **
  • 概念:
集中版本控制通常用于团队开发,将一个电脑作为主机,将所有需要保存的项目资料都存放在该电脑上,实现集中控制
协同开发者从服务器上同步更新或上传自己的修改,如SVN
  • 优缺点:
集中版本控制将所有资料保存在一台电脑上,相当于单机存储,保密性较高;但一旦计算机出现损坏,项目备份丢失,无法找回
  1. 分布式版本控制
  • 概念:
分布式版本控制通常用于团队开发,所有人都保存有项目的所有资料,实现分布式控制
  • 优缺点:
保密性差,所有人都携带项目源码,具有一定安全隐患;但同时所有人都保存有源码,一台电脑损坏并不影响项目的保存
Git和SVN的主要区别我们在前面提及到了集中版本控制和分布式版本控制,实际上它们就分别对应着SVN和Git的控制方式

经验总结扩展阅读