一、GIT体系概述:
- 大家公司是用什么工具来管理代码版本?SVN、CVS、GIT
- GIT和SVN有什么区别呢?
GIT 与 svn 主要区别:
-
存储方式不一样
-
使用方式不一样
-
管理方式不一样
-
存储方式区别:
GIT把内容按元数据方式存储类似k/v数据库,而SVN是按文件存储的(新版SVN已改成元数据存储)
GIT内部是有一个key/value的数据库,可以理解为一个Map,内容提交到数据库中时就会返回一个key,key是唯一的。
git init demo 创建一个git项目
cd demo 进入项目
echo “test demo” >> README.MF
git hash-object -w README.MF 把文件提交到数据库中 会返回一个key
git cat-file -p [key] 查看文件的内容
回滚的话就可以通过key把值取出来进行回滚
-
使用方式区别:
从本地把文件推送远程服务,SVN只需要commit,而GIT需要add,commit,push三个步骤
SVN基本使用过程
从图中可以看出无论是谁开发的代码都是直接commit就提交到了SVN
GIT基本使用过程
git要提交内容的话,先要把修改的代码add进暂存区,然后commit到本地仓库,然后在push到远程仓库
-
版本管理模式区别
git是一个分布式的版本管理系统,而SVN是一个远程集中式的版本管理系统
集中式:
当远程仓库服务挂掉了之后,本地项目就不能做任何操作了
分布式: