好多刚用git的coder一提及git,就随口会说出版本控制器嘛,我问那是干吗的,大部分人就回答上传代码的。而后会用,可是有些理论你问他们他们就不知道了,好比不是代码的文件就不能用到git?因此今天写这篇随便就是将一些我对git的理解git
svn 服务器
git 网络
2.1 git和svn本质区别?分布式
git分布式版本控制器,svn集中式版本控制器svn
2.2 集中式和分布式的区别?spa
集中式(svn)版本控制系统,版本库是集中存放在中央服务器的(就一个你们围绕着这一个服务器进行工做),全部的版本数据都保存在服务器上协同开发者从服务器上同步更新或上传修改。3d
有很大的风险这个服务器会损坏,(若是没有备份)这样就会丢失全部的数据。版本控制
分布式(git)分布式版本控制系统根本没有“中央服务器”,每一个人的电脑上都是一个完整的版本库,不须要联网就能够工做。只须要在联网的时候push到相应的远端repository.code
2.3 为何git断网后能够工做?blog
git和svn的区别这个是老生常谈了,一般就会一百度就会出现 啊 git没有网络也可使用,这时候一些刚接触的人就懵逼了,没有网络哥咋把代码传上去啊,当初我也同样。可是呢!
后来想明白了,咱们的代码要存放在哪,仓库repository,那git有本地的仓库,咱们固然能够不用联网就能够工做啊。只不过有网的时候咱们还能够把本地仓库的东西推送到远程仓库而已。
svn就不行了,它只连接服务器,有一个远程仓库,没有网络你怎么把你的文件放在远程仓库呢。
3、git的优势和缺点
分布式,多人协同开发,缺点就是代码保密性差,一旦开发者把整个库克隆下来就能够彻底公开全部代码和版本信息。
4、git的工做原理
工做区,版本库,暂存区,树目录,远程仓库
工做区: