概述:
git是一个分布式的版本管理工具,官网下载可能中途断,推荐网址:http://download.csdn.net/detail/q849340003/9670061
一个文件一个人修改好说,如果很多人修改就痛苦,你修改内容会和我修改的内容冲突,这时候需要版本控制。
一、版本控制的进化
1.本地版本控制系统
每个修改一个地方就记录下来,对于个人来说还不是很难,但是现在都是团队作战,同事之间必须通讯,这就有点吃力
2.集中的版本控制系统(Centralized Version Control System)
有个公共的仓库,大家都可以从仓库中取东西,这个解决同事的通讯,问题是甲和乙同时取同一件东西就会出现冲突(代码提交冲突),其实这个问题可以解决,如果仓库出现问题,这是大家都没事干,这是一个严重情况,如何实现不把鸡蛋放在一个篮子里
3.分布式版本控制系统(Distributed Version Control System)
分布式就是你有我也有,每台机器就是一个项目的一个副本,我们可以在网络暂时中断,不影响开发,如果某个服务器挂了,随便找一台机器的上副本进行恢复。
参考网址:点击打开链接
二、Git基础
1.git和其他集中版本控制系统思想:git直接记录快照,svn是差异比较
这是集中版本控制系统的思想
这是git版本控制思想
如果两次差异记录出现冲突而进行恢复,这就有点棘手,但是如果git快照,它本身就是一个完好文件,如果你想恢复到某个版本只要更改一下快照索引
2.Git所有操作都是本地执行
本地就有仓库中所有的数据,如果你要在SVN比较历史版本数据必须要联网,因为你本地没有历史版本记录
3.时刻保持数据完整性
Git底层是基于SHA-1算法进行计算的校验
4.文件的三种状态
已提交(committed)、已修改(modified) 和已暂存(staged)
打个比方:填答题卡的时候,遇到不很明白的题
已修改:这个题不会,选个答案,有时间再仔细分析
已暂存:暂时认为这个答案是正确
已提交:确认无误,交卷了
文件流转三个工作区域:Git的工作目录,暂存区域,以及本地仓库
基本的Git工作流程如下:
1.在工作目录修改某些文件。
2.对修改后的文件进行快照,然后保存到暂存区域
3.提交更新,将保存在暂存区域的文件快照永久转储到Git目录中
总结:主要了解Git是什么?与普通集中版本控制系统的有什么区别?
参考文档:
https://git-scm.com/book/zh/v1/起步-Git-基础
