第一章 Git概述
第二章 Git应用
第三章 GitHub应用
第四章 IDEA对于Git&GitHub的支持
第五章 Git&GitHub使用注意事项

Git概述

 

版本控制工具简介

 

● 什么是版本控制工具

版本控制工具提供完备的版本管理功能,用于存储、追踪目录(文件夹)和文件的修改历史,是软件开发者的必备工具,是软件公司的基础设施。

版本控制最主要的功能就是追踪文件的变更。它将什么时候、什么人更改了文件的什么内容等信息忠实地了已录下来。软件开发往往是多人协同作业,版本控制可以有效地解决版本的同步以及不同开发者之间的开发通信问题,提高协同开发的效率。

● 版本控制工具的作用

(1)协同开发

团队协作共同完成同一个项目

(2)版本管理

以不断提升项目版本的方式逐步完成项目。

(3)数据备份

开发中以版本控制的形式保存每一个历史版本。

(4)权限控制

对团队开发人员进行不同的权限分配。

(5)分支管理

允许开发团队在工作过程中多条生产线同时推进任务,进一步提高效率。

● 市场上常见的版本控制工具及分类

a. 集中式版本控制工具

CVS、SVN、VSS……

不同的客户端直接跟服务器端交互工作,可以进行提交操作、克隆操作等。不同客户端之间是相互独立的。

b. 分布式版本控制工具

Git、Mercurial、Bazaar、Darcs……

每个用户都有自己在本地的仓库,用来管理版本控制,每个客户端也同时是一个服务器。同时也可以用一个专门的服务器的仓库用来管理。

 

Git简介

 

● Git概述

Git是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。Git起初是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。

● Git历史简介

Git创建历史解读:

时间 事件

1991年 Linus在1991年创建了开源的Linux,从此,Linux 系 统不断发展,已经成为最大的服务器系统软件了

2002年以前 世界各地的志愿者把源代码文件通过diff的方式发给 Linus(Linus坚定地反对CVS和SVN,这些集中式的版本 控制系统不但速度慢,而且必须联网才能使用。有一些 商用的版本控制系统,虽然比CVS、SVN好用,但那是 付费的,和Linux的开源精神不符)

2002年 Linux系统已经发展了十年了,代码库之大让Linus很难 继续通过手工方式管理了。Linus选择了一个商业的版本 控制系统BitKeeper,BitKeeper的东家BitMover公司出 于人道主义精神,授权Linux社区免费使用这个版本控 制系统

2005年 开发Samba(Samba是在Linux和UNIX系统上实现SMB 协议的一个免费软件)的Andrew试图破解BitKeeper的 协议,被BitMover公司发现了,于是BitMover公司在愤 怒中收回了Linux社区对于BitKeeper的免费使用权

同是2005年 Linus在没有版本控制系统的窘境下,自己用C语言写了 一个分布式版本控制系统,这就是Git, 值得一提的是, Linus仅仅使用两周时间就完成了Git的创建

Git创建完毕的一个月后,Linux系统的源码正式由Git 管理

2008年 GitHub网站上线了,它为开源项目免费提供Git存储, 无数开源项目开始迁移至GitHub,包括jQuery,PHP, Ruby等等

如今,GitHub+Git的开发模式已经被全世界所认可,已然成为了全世界应用最广泛的分布式版本控制管理工具。

● Git官网及Logo

官网地址:https://git-scm.com/

Logo:

● Git的优点

(1)适合分布式开发,强调个体。

(2)公共服务器压力和数据量都不会太大。

(3)速度快、灵活。

(4)相对容易的解决冲突。

(5)大部分操作在本地完成,不需要联网。

(6)以快照流的方式工作

全部教程