为何使用Git

    GIT:由Linus Torvalds开发的一套分布式管理系统--->每个使用者拥有一套完整的修订历史记录,每台计算机都是一个独立的节点,不依赖于其它节点就可以进行离线提交以及离线查看历史记录。它还提供了一套完善的分支/合并系统,速度快,不依赖网络。
    SVN:一套集中式管理系统,依赖于一个中心服务器,也就是说,如果中心服务器“爆掉",那么团队的代码更新和同步就无法完成,影响团队开发。
通过基本概念和两张图,已经可以清楚的分出SVN和GIT的不同。下面我大概的举例列举一下:
    1. Git是分布式的版本控制系统,而SVN是集中式的版本控制系统(*这个概念十分重要,理解分布式,我觉得也就理解Git了)
    这代表:Git有一套本地的版本库,即使没有网络,也可以进行提交文件等操作(commit),而SVN完全依赖网络及中心服务器。其次,这种分布式的管理系统对开源社区有很大的贡献,以GitHub为例,开发者可以从一个项目中拉取一份分支到本地,对于这个本地的分支,开发者是有完全的读写权限的,可以随意开发。开发完成后,只需要向原作者发送请求,然后由原作者选择性的合并到主分支中即可。这对于版本的更新和bug的修复有十分重要的意义。
    2. SVN的层级只有两个,客户端工作区和服务端归档区。而Git有四级,本地工作区,暂存区,本地归档区和远程归档区。
    这代表,本地可以多次将代码提交到本地归档区,而不影响远程归档区。待所有任务完成后,把它们同步即可。Git有一个十分实用的命令,利用git stash可以把手头的工作存储到临时区,待紧急工作完成后git stash apply还原即可。

    3. Git的分支结构相对于SVN要轻量的多
    Git的所有分支都在同一个文件夹内,根据版本号进行回滚或返回操作。我们甚至可以为每一个任务建立一个分支,新特性就在新特性分支上,Bug修改就在Bug修改的分支上开发完成后合并到主分支就好。
    4. 使用过SVN的同学都知道,团队中有一条不成文的规定:只有可运行的代码才能上传SVN,这就造成了SVN只能在本地进行大量的一次性更改。而Git可以在本地进行多次的提交,有利于将一个大任务分解,降低提价代码的粒度,从而降低了合并到主干上造成的风险。
    5.对于习惯了SVN这种集中式版本管理的同学,可以使用git-svn实现git的所有本地修订,然后将代码提交到SVN中心服务器。
    

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值