Git Book 官方中文文档
官方使用文档中有句话我表示非常赞同:若你理解了 Git 的思想和基本工作原理,用起来就会知其所以然,游刃有余。
对于这句话,我想能够适用在任何地方,古人云:知其然而不知其所以然。再曰:只知其一不知其二,等等。这些都是说的,要去探究事物的本质,了解其原理。
对此,很早就知道git这个东西的我,一直是知其然而不知其所以然的状态。此次工作上又和它扯上关系了。这次想必硬要弄个水落石出。
GIT:分布式版本控制系统(Distributed Version Control System,简称 DVCS)
在这类系统中,客户端并不只提取最新版本的文件快照,而是把代码仓库完整地镜像下来。 这么一来,任何一处协同工作用的服务器发生故障,事后都可以用任何一个镜像出来的本地仓库恢复。 因为每一次的克隆操作,实际上都是一次对代码仓库的完整备份。
1.GIT特点:
1:直接记录快照,而非差异比较
2:近乎所有操作都是本地执行
3:Git 保证完整性
4:Git 一般只添加数据
2.GIT三种工作状态:
已提交(committed):表示数据已经安全的保存在本地数据库中。
已修改(modified):表示修改了文件,但还没保存到数据库中。
已暂存(staged):表示对一个已修改文件的当前版本做了标记,使之包含在下次提交的快照中。
由此三种工作状态引出三个工作区域。
Git 仓库:是 Git 用来保存项目的元数据和对象数据库的地方。 这是 Git 中最重要的部分,从其它计算机克隆仓库时,拷贝的就是这里的数据。
工作目录:是对项目的某个版本独立提取出来的内容。 这些从 Git 仓库的压缩数据库中提取出来的文件,放在磁盘上供你使用或修改。
暂存区域:是一个文件,保存了下次将提交的文件列表信息,一般在 Git 仓库目录中。 有时候也被称作“索引”,不过一般说法还是叫暂存区域。
3.基本的 Git 工作流程如下:
1:在工作目录中修改文件。
2:暂存文件,将文件的快照放入暂存区域。
3:提交更新,找到暂存区域的文件,将快照永久性存储到 Git 仓库目录。
GIT常见疑问
git中git:// 和 git@的区别
git://是git协议类似于ssh 但是没有认证
git@ 使用ssh协议 等于 ssh://git@
ps:持续更新中…