Git 与 SVN

来源:互联网 发布:unity3d入门文章 编辑:程序博客网 时间:2024/06/04 17:51
1.Git和SVN之间的区别:
(1) Git是分布式的,SVN是集中式;
(2) SVN的工作区和版本库是截然分开的,而Git的工作区和版本库是如影随形的;
(3) 版本号:Git没有一个全局的版本号,而SVN有;
(4) 版本库:SVN只能有一个指定中央版本库,Git可以有无限个版本库,或者每一个Git都是一个版本库;
(5) Git是压缩后传输,svn是一个一个文件传输,所以git的网络流量比svn少很多;
(6) 检出:
     SVN可以将整个库检出到工作区,也可以将某个目录检出到工作区。但是Git只能全部检出,不支持按照目录进行的部分检出。
(7) 更新:
     在SVN中,因为只有一个中心仓库,所以所谓的远程更新,也就是svn update,通过此命令来使工作区和版本库保持同步。
     Git使用git fetch和git pull来完成远程更新任务。
(8) 提交:
     在SVN,当你提交你的代码时,它将直接记录到中央版本库。当你发现你的代码存在严重问题时,你已经无法阻止事情的发生。
     而Git的提交完全属于本地版本库的活动,而你只需”推”(git push)到主要版本库即可。

2.SVN优缺点:
SVN优点:
(1) 管理方便、逻辑明确,符号一般人思维习惯;
(2) 易于管理,集中式服务器更能保证安全性;
(3) 代码一致性非常高;
(4) 适合开发人数不多的项目开发。
SVN缺点:
(1) 服务器压力太大,数据库容量暴增;
(2) 如果不能连接到服务器上,基本上不可以工作,就不能提交、还原、对比等等;
(3) 不适合开源开发,但是一般集中式管理的有非常明确的权限管理机制,可以实现分层管理,从而很好的解决开发人数众多的问题。

3.Git优缺点:
Git优点:
(1) 适合分布式开发,强调个体;
(2) 公共服务器压力和数据量都不会太大;
(3) 速度快、灵活;
(4) 任意两个开发者之间可以很容易的解决冲突;
(5) 离线工作。
Git缺点:
(1) 学习周期相对而言比较长;
(2) 不符合常规思维;

(3) 代码保密性差,一旦开发者把整个库克隆下来就可以完全公开所有代码和版本信息。


4.git将本地仓库上传到远程仓库

(1) 在已有的git库中搭建新库,并且将本地的git仓库,上传到远程服务器的git库中,从而开始一个新的项目 .
     ① 在本地新建文件夹abc,进入到abc里面,然后git init。这样就在本地初始化了一个git项目abc。
     ② 登录到远程的git服务器上,到gitrepo目录下面,mkdir abc.git。然后进入abc.git目录。git  --bare init。这样就在服务器端建立了一个空的git项目。
     ③ 在本地,进入到abc目录里面,增加远程仓库。git remote -v 显示项目目前的远程仓库,因为是新建项目,所以结果为空。git remote add origin git://127.0.0.1/abc.git这样就增加了远程仓库abc。
     ④ commit提交本地代码,git push origin master这样就把本地的git库上传到了远程git服务器的git库中了 .

(2) 不登陆远程直接本地操作
     ① git init
     ② git add .
     ③ git commit -am "###"      -------以上3步只是本地提交
     ④ git remote add origin git@xx.xx.xx.xx:repos/xxx/xxx/xxx.git
     ⑤ git push origin 本地分支:远程分支

原创粉丝点击