版本管理工具不但可以备份而且还能记录版本,也就是同一个东西不同时期的状态同时可以跟踪追溯。
版本管理工具由CVS、SVN、Git、GitHub。
最早的版本管理工具CVS,因为多人开发项目导致工作很难协调所以就实现了CVS工具。
产品 | 特点 |
CVS | 最早的版本管理工具,集中式管理,中心服务器,每个人都存放。 |
SVN | 一个更好的集中式版本管理工具 |
Git | 分布式的,由Linux开源社区诞生的。 |
Github | 托管网站,一个项目可以有一个网站,项目代码可以托管到这个网站 |
Github和Gitlab的区别:Gitlab拥有Github的一切功能而且还有更多特性。用户界面丰富。Github可以理解为一个网站为用户提供GIT仓储,而Gitlab是基于GIT实现的项目管理软件,我们自己可以在公司内部搭建Gitlab服务。
GIT和SVN的区别:SVN等其他传统版本管理工具保存的是每个版本的变化
Git保存的是快照而不是结果
GIT中所有数据在存储前都进行数据校验然后以校验和来引用。在GIT数据库中保存的信息都是以这种SHA-1哈希值来保存的而不是文件名称。
状态 | |
Commited | 已提交表示数据已经按照保存到本地数据库中 |
Modified | 表示修改了文件但是还没有提交到数据库中 |
Staged | 表示对一个已修改的文件的当前版本做了标记。 |
由上面三个概念引入的三个区域
- GIT仓库:是GIT用来保存数据的地方
- 工作目录:是对某个项目独立拉取出来的内容,放在你的本地
- 暂存区:是一个文件,保存下次将要提交的列表信息
流程如下:
- 从仓库拉取到工作区
- 在工作区修改文件
- 暂存文件,也就是对应的git add操作
- 本地提交到本地仓库
- PUSH到远程仓库