# git-book **Repository Path**: sontekliu/git-book ## Basic Information - **Project Name**: git-book - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2019-09-06 - **Last Updated**: 2020-12-18 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Git 简明教程 ### Git 是什么? Git 是免费的、开源的、世界上最先进的**分布式**版本控制系统(没有之一) 什么是版本控制系统? 举个写文档的例子,如图 ![多文档备份](./images/git_doc.jpg) 两天或者一周之后再找自己想恢复到想要版本就比较麻烦了,恐怕自己也记不清楚了,对于有洁癖的人看到一堆乱七八糟的文件可能想删除掉无用的,但是又担心以后会用到,又不敢删除,真郁闷! 此时,版本控制系统就诞生了,解决了以上问题,就像下图这样能记录文件的每次改动: | 版本 | 文件名称 | 用户 | 说明 | 日期 | | ---- | ----------- | -------- | --------------- | ---------- | | 1 | service.doc | zhangsan | 创建 xxx.doc | 2018.06.01 | | 2 | service.doc | lisi | 添加了 xxx 内容 | 2018.06.03 | | 3 | service.doc | zhangsan | 修改了人员列表 | 2018.06.05 | | 4 | service.doc | lisi | 修改了合同 | 2018.06.06 | | 5 | service.doc | wangwu | 延长了合同周期 | 2018.06.07 | 这样,就结束了手动管理多个版本的时代,进入到了版本控制系统的新时代。使用版本控制系统管理文件的话,更新的历史会保存在版本控制系统中,这样就不需要备份多个文件了,并且可以随时恢复到任意版本,非常方便。 ### Git 的诞生 Linux 系统是开源的,Linux 代码是由来自世界各地的程序员来共同维护的,那 `Linux` 代码是怎么维护的呢? 在 2002 年之前,完全是由 `Linus` 手工进行管理的,因为 `Linus` 坚定的反对 `CVS` 、`SVN` 这种集中式的版本控制系统,这种不但速度慢,而且必须联网才能使用。 2002 之后,系统版本代码比较庞大了,完全的手工管理已经跟不上时代的步伐了,`Linus` 选择了商业的分布式版本控制系统 `BitKeeper` ,`BitKeeper` 授权 `Linux` 免费使用。开发 `Linux` 系统的人员比较混杂,有人试图破解 `BitKeeper` 的协议,被 `bitKeeper` 发现了,在 2005 年 `BitKeeper` 收回了对 `Linux` 社区的面试使用权限。但是 `Linux` 代码还得继续维护,所以 `Linus` 花了两周的时间自己写了一个分布式版本控制系统,取名 Git,一个月之后,`Linux` 代码已有 `Git` 完全托管,正所谓,自己动手,丰衣足食。 `Linus` 在开发 `Git` 时,设定了几个目标: * 速度 * 简单的设计 * 对非线性开发模式的强力支持(支持多分枝并行开发) * 完全分布式 * 有能力管理类似 `Linux` 这样的超大规模项目 目前 `Git` 由 **滨野纯** 进行维护。