本网站是用hexo+github搭建的,为了解决多电脑操作的问题,联想到用Git在github上来实现;再者Git是目前世界上最先进的分布式版本控制系统,很多公司现在都是用这高端大气上档次的东东。
此次会对Git和Github有个简单的入门学习,主要是学习一下思想和流程。说不定以后在自动化的过程中也会用Git来管理自动化工程。
版本控制
概念性的东西,不做介绍,实在不明白,请Google吧。
- 集中式版本控制系统
这类系统,诸如 CVS、Subversion等,都有一个单一的集中管理的服务器,保存所有文件的修订版本,而协同工作的人们都通过客户端连到这台服务器,取出最新的文件或者提交更新。 - 分布式版本控制系统
在这类系统中,像Git、Mercurial,客户端并不只提取最新版本的文件快照,而是把代码仓库完整地镜像下来。 这么一来,任何一处协同工作用的服务器发生故障,事后都可以用任何一个镜像出来的本地仓库恢复。 因为每一次的克隆操作,实际上都是一次对代码仓库的完整备份。
Git思想和基本工作原理
Git 有三种状态
- 已提交(committed)
表示数据已经安全的保存在本地数据库中。 - 已修改(modified)
表示修改了文件,但还没保存到数据库中。 - 已暂存(staged)
表示对一个已修改文件的当前版本做了标记,使之包含在下次提交的快照中。
Git三个工作区域
- 工作区
本地电脑上能看到的目录,存有从Git仓库的压缩数据库中提取出来的文件。 - Git仓库
Git用来保存项目的元数据和对象数据库的地方。工作区中隐藏目录.git。 - 暂存区域
暂存区域是一个文件,保存了下次将提交的文件列表信息,一般在Git仓库目录中。
Git工作流程
- 在工作目录中修改文件。
- 暂存文件,将文件的快照放入暂存区域。
- 提交更新,找到暂存区域的文件,将快照存储到Git仓库目录。
说明:此系列是学习笔记,为了减少打字,可能会有Copy过来的理论上的知识说明,如有问题,请告之。