目录

一、什么是版本控制器:

二、常见的版本控制工具:

三、版本控制分类:

1.本地版本控制:

2.集中版本控制 SVN

3.分布式版本控制 Git

四、Git与SVN的主要区别

五、Git历史:


一、什么是版本控制器:

        版本控制(Revision control)是一种在开发的过程中用于管理我们对文件、目录或工程等内容的修改历史,方便查看更改历史记录,备份以便恢复以前的版本的软件工程技术。

  • 实现跨区域多人协同开发
  • 追踪和记载一个或者多个文件的历史记录
  • 组织和保护你的源代码和文档
  • 统计工作量
  • 并行开发、提高开发效率
  • 跟踪记录整个软件的开发过程
  • 减轻开发人员的负担,节省时间,同时降低人为错误

Git 简单说就是用于管理多人协同开发项目的技术。

没有进行版本控制或者版本控制本身缺乏正确的流程管理,在软件开发过程中将会引入很多问题,如软件代码的一致性、软件内容的冗余、软件过程的事物性、软件开发过程中的并发性、软件源代码的安全性,以及软件的整合等问题。


二、常见的版本控制工具:

主流的版本控制器有如下这些:

  • Git
  • SVN(Subversion)
  • CVS(Concurrent Versions System)
  • VSS(Micorosoft Visual SourceSafe)
  • TFS(Team Foundation Server)
  • Visual Studio Online

版本控制产品非常的多(Perforce、Rational ClearCase、RCS(GNU Revision Control System)、Serena Dimention、SVK、BitKeeper、Monotone、Bazaar、Mercurial、SourceGear Vault),现在影响力最大且使用最广泛的是Git与SVN


三、版本控制分类:

1.本地版本控制:

记录文件每次的更新,可以对每个版本做一个快照,或是记录补丁文件,适合个人用,如RCS。

2.集中版本控制 SVN

所有的版本数据都保存在服务器上,协同开发者从服务器上同步更新或上传自己的修改

所有的版本数据都存在服务器上,用户的本地只有自己以前所同步的版本,如果不连网的话,用户就看不到历史版本,也无法切换版本验证问题,或在不同分支工作。而且,所有数据都保存在单一的服务器上,有很大的风险这个服务器会损坏,这样就会丢失所有的数据,当然可以定期备份。代表产品:SVN、CVS、VSS

3.分布式版本控制 Git

每个人都拥有全部的代码!安全隐患!

所有版本信息仓库全部同步到本地的每个用户,这样就可以在本地查看所有版本历史,可以离线在本地提交,只需在连网时push到相应的服务器或其他用户那里。由于每个用户那里保存的都是所有的版本数据,只要有一个用户的设备没有问题就可以恢复所有的数据,但这增加了本地存储空间的占用。

不会因为服务器损坏或者网络问题,造成不能工作的情况!


四、Git与SVN的主要区别

SVN是集中式版本控制系统,版本库是集中放在中央服务器的,而工作的时候,用的都是自己的电脑,所以首先要从中央服务器得到最新的版本,然后工作,完成工作后,需要把自己做完的活推送到中央服务器。集中式版本控制系统是必须联网才能工作,对网络带宽要求较高。

Git是分布式版本控制系统,没有中央服务器,每个人的电脑就是一个完整的版本库,工作的时候不需要联网了,因为版本都在自己电脑上。协同的方法是这样的:比如说自己在电脑上改了文件A,其他人也在电脑上改了文件A,这时,你们两之间只需把各自的修改推送给对方,就可以互相看到对方的修改了。Git可以直接看到更新了哪些代码和文件!

        Git是目前世界上最先进的分布式版本控制系统。


五、Git历史:

Linux 内核开源项目有着为数众广的参与者。绝大多数的 Linux 内核维护工作都花在了提交补丁和保存归档的繁琐事务上(1991-2002年间)。到 2002 年,整个项目组开始启用一个专有的分布式版本控制系统 BitKeeper 来管理和维护代码。

Linux社区中存在很多的大佬!破解研究 BitKeeper !

到了 2005 年,开发 BitKeeper 的商业公司同 Linux 内核开源社区的合作关系结束,他们收回了 Linux 内核社区免费使用 BitKeeper 的权力。这就迫使 Linux 开源社区(特别是 Linux 的缔造者 Linus Torvalds)基于使用 BitKeeper 时的经验教训,开发出自己的版本系统。(2周左右!) 也就是后来的 Git!

        Git是目前世界上最先进的分布式版本控制系统。

Git是免费、开源的,最初Git是为辅助 Linux 内核开发的,来替代 BitKeeper!

Linux和Git之父李纳斯·托沃兹(Linus Benedic Torvalds)1969、芬兰


【Git】<分布式版本控制系统>版本控制器Git概述相关推荐

  1. Git 分布式版本控制工具01:Git介绍+下载+安装

    1. 前言 1.1 什么是Git Git 是一个分布式版本控制工具,通过Git 仓库来存储和管理源代码文件文件. 在IDEA开发工具中可以集成Git: 集成后在IDEA中可以看到Git相关图标: 可以 ...

  2. 分布式版本控制系统Git的安装与使用

    作业要求 1.(本次作业要求来自:https://edu.cnblogs.com/campus/gzcc/GZCC-16SE1/homework/2103 2.  我的Github远程仓库地址: ht ...

  3. g4e基础篇#2 Git分布式版本控制系统的优势

    1. 基础篇: 为什么要使用版本控制系统 Git 分布式版本控制系统的优势 Git 安装和设置 初始化Git存储库(Repo) 起步 1 – 创建分支和保存代码 起步 2 – 了解Git历史记录 起步 ...

  4. git(2)---git 分布式版本控制系统

    集中式vs分布式 Linus一直痛恨的CVS及SVN都是集中式的版本控制系统,而Git是分布式版本控制系统,集中式和分布式版本控制系统有什么区别呢? 先说集中式版本控制系统,版本库是集中存放在中央服务 ...

  5. 【git】—集中式与分布式版本控制系统

    [前言] 大家都知道,Linus在1991年创建了开源的Linux,从此,Linux系统不断发展,已经成为最大的服务器系统软件了,之前的linux代码是由Linus本人通过手工方式合并代码,后来为了切 ...

  6. 22-07-14 西安 Git 分布式版本控制系统 、代码管理

    Git是目前世界上最先进的分布式版本控制系统,Git可以做源代码管理 Git的诞生 Linus (Linus Torvalds 林纳斯.托瓦斯)是在BitKeeper停止向开源社区提供免费版本后开发了 ...

  7. Git分布式版本控制系统(上)

    Git分布式版本控制系统(上) 链接:https://pan.baidu.com/s/1CgaEv12cwfbs5RxcNpxdAg 提取码:fytm 复制这段内容后打开百度网盘手机App,操作更方便 ...

  8. Git分布式版本工具的部署与使用

    一.Git概述 1. Git诞生 很多人都知道,Linus在1991年创建了开源的Linux,从此,Linux系统不断发展,已经成为最大的服务器系统软件了. Linus虽然创建了Linux,但Linu ...

  9. 版本控制系统 之一 概念、分类、常见版本控制系统(CVS、SVN、BitKeeper、Git 等)

    是什么   版本控制系统(Version Control System,VCS)是一种软件,可以帮助软件团队的开发人员协同工作,并存档他们工作的完整历史记录. 为什么 在我们的实际开发过程中,经常会有 ...

  10. 版本控制系统(SVN,Git)与项目托管平台(Github,Gitee,Coding)

    1.版本控制系统 版本控制系统(version control system)是一种记录一个或若干文件内容变化,以便将来查阅特定版本修订情况的系统.版本控制系统不仅可以应用于软件源代码的文本文件,而且 ...

最新文章

  1. ZOJ2158,POJ1789
  2. gdi 格式转换 vb_VB 程序设计举例
  3. 使用 Binlog 和 Canal 从 MySQL 抽取数据
  4. 数据结构_串_mindmap+LeetCode_344.反转字符串(Java、C)
  5. 本地编译Hadoop2.8.0源码总结和问题解决(转自:http://blog.csdn.net/young_kim1/article/details/50324345)
  6. oracle .dbf文件过大_学习这篇Oracle数据库文件坏块损坏的恢复方法,拓展你的知识面...
  7. 一种无限循环轮播图的实现原理
  8. 二叉树C++ | 实现删除节点_4
  9. php编程 之php基础 表单
  10. c 易语言置入代码6,易语言置入代码.doc
  11. ssm mysql项目实战_SSM 项目实战
  12. 修改idea64.exe.vmoptions导致双击打不开idea的解决办法
  13. 树莓派CM4设置静态IP地址(已解决)
  14. 如何查看已安装的Linux内核
  15. 【田姓】宗谱——【名人精粹】
  16. 项目一 认识Linux操作系统
  17. struts漏洞总结
  18. w ndows81能安装什么浏览器,在WindowsServer2019上安装edge浏览器
  19. word2013安装mathtype7错误‘53‘的解决办法
  20. DC1靶机解析+思路

热门文章

  1. 谷歌浏览器设置免跨域 Mac
  2. php用8好还是php7好,对比说明PHP7的优化提升
  3. 灵飞经 ①洪武天下 第二章 紫禁深深
  4. fastdb学习记录#1 table、宏、query、cursor
  5. 在TX2上(arm架构)安装FastDB
  6. 【数据分析】销售案例——用户购买频次
  7. android计算器实训报告总结,计算机实训总结报告【三篇】
  8. aws ssh 证书配置_在AWS Lambda中运行netflix bless ssh证书颁发机构
  9. cataclysm【题解】【考试】
  10. 性能优化-图片压缩格式的选择(ETC和ASTC)