Git分布式 & SVN集中管理式

git&svn对比


一、集中版本控制系统svn


svn属于集中式版本管理控制系统,系统中保存了所有文件的修订版本,而协同工作人员通过连接svn服务器(中央服务器),提取出最新的文件,获取提交更新
下图就是标准的集中式版本控制工具管理方式:
Git分布式 & SVN集中管理式_第1张图片
电脑A,电脑B,电脑C都提交代码到中央服务器,且从中央服务器下载,更新代码进行协同开发工作.

集中管理方式在一定程度上看到其他开发人员在干什么,而管理员也可以很轻松掌握每个人的开发权限
但是相较于其优点而言,集中式版本控制工具缺点很明显:
  1. 服务器单点故障
  2. 中央服务器一旦宕机,整个开发工作将无法进行下去.
  3. 容错性差
  4. 所有数据存储在中央服务器,服务器一旦宕机或者磁盘损坏, 会造成不可估量的损失.

二、分布式版本控制git


分布式版本控制( Distributed Version Control System)与前两者均不同。首先,在分布式版本控制系统中,像 Git,Mercurial,Bazaar 以及 Darcs 等,系统保存的的不是文件变化的差量,而是文件的快照,即把文件的整体复制下来保存,而不关心具体的变化内容。其次,最重要的是分布式版本控制系统是分布式的,当你从中央服务器拷贝下来代码时,你拷贝的是一个完整的版本库,包括历史纪录,提交记录等,这样即使某一台机器宕机也能找到文件的完整备份。


Git分布式 & SVN集中管理式_第2张图片



从中央服务器下载拷贝的代码,记录整个文件的提交的过程,每一历史记录,且能和其他代码下载者共享.(也就是说电脑A 和 电脑B中完整的记录了代码历史过程,和中央服务器有同样的效果,且电脑A和电脑B进行代码共享)

这是 Git 同其他系统的重要区别。它完全颠覆了传统版本控制的套路,并对各个环节的
实现方式作了新的设计。Git 更像是个小型的文件系统,但它同时还提供了许多以此为基础

的超强工具,而不只是一个简单的 版本控制工具.


git源码控制工具优点也很明显:

1,本地版本库记录了完整的代码历史版本,脱离中央服务器也可以直接进行提交代码

2,git源码控制工具速度非常快,提交,推送等等操作节省CPU的开销.


三、GIT工作流程(对比上图

  ①架构师/项目经理搭建项目环境上传到远程中央服务器(上传到远程服务器之前,必须先提交到本地仓库,先添加到暂存态index,然后再 commit)

  ②程序员B从远程私有仓库克隆(clone)代码,克隆后就可在本地进行修改代码.修改完毕即可把代码推送到远程仓库(推送之前必须先提交到本地仓库)

  ③程序员C可以更新代码(pull)


四、Git共享版本库

linux版的git私有服务器

linux私有仓库在公司中服务器进行安装,程序员在私钥仓库中进行协同开发远程仓库使用相关操作

pull

clone

push

remote

github互联网版本的源码控制工具(一般不用)


五、Git本地版本库

Eclipse&Egit插件(eclipse图形化界面操作)

Eclipse工具使用相关操作

add to index

commit

Git&windows客户端(主要使用命令操作)

Git命令模式使用相关操作

git add .

git commit –m “commit message



你可能感兴趣的:(Git)