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