美文网首页
为什么使用GIT

为什么使用GIT

作者: Koudle | 来源:发表于2016-05-01 17:52 被阅读743次

    SVN与GIT的区别

    • 概念
      SVN:集中化的版本控制系统
      GIT:分布式版本控制系统
    集中化的系统,受限于服务器,比如:提交记录,如果我离线的话,提交记录是看不到的;代码更改,我想查看每次提交的更改也很困难;
    
    • 文件记录方式
      SVN:记录每个文件的变化,每个版本存储前后变化的差异数据
      GIT:记录整体数据的变化,每次提交,把所有文件生成一个快照,和前面一次提交对比,若文件没变化,直接指向上一次文件,只记录变化的文件

    • 分支的创建和合并
      SVN:每次分支都是对之前代码重新拷贝到一个新目录
      GIT:分支的创建和合并代价很小,十分方便

    很明显的一个地方是文件的大小,SVN有几个分支,大小就增加几倍,而git使用指针记录每次提交的,分支的创建和合并其实就是对指针的操作,效率可见一斑
    

    对GIT的一些误区

    • git≠github
    git是分布式的版本控制系统
    github是一个托管git库的网站,使用git作为代码版本管理工具,github是全球最大的代码开源网站,上面的大部分git库都是公开(public)的,就是所有人都可以访问,也有私有库(private),只有拥有权限的人才可以访问
    gitlab是一个用于仓库管理系统的开源项目,可以理解成和github是一样的,提供web界面管理git仓库,但是可以搭建在私有服务器上,保证代码安全
    
    • git不慢
    感觉大部分人都觉的git很慢,这是一个很大的误区,可能是大部分人刚开始都是通过github接触git的,github的服务器在国外,而且我大天朝的网络环境,大家都懂的,其实从上面对git和svn实现原理的比较,显然git比svn快,如果我们都用内网的git服务,就不会感觉git慢了
    
    • 觉得git麻烦
    可能是大部分人一接触git,需要一大堆配置就觉得麻烦,所以要给大家讲明白为什么需要这些配置,git使用的ssh协议(http也支持),ssh通过公私玥来加密数据,所以一开始会让大家生成一个公钥并上传到网站上,为了标明每次commit是谁提交的,会配置开发者的一些基本信息
    
    • git和svn一样简单易上手
    为什么这么说呢,因为从本质上来说,都是版本管理系统,我们从常用的几个操作来说:
    
    
    操作 svn git
    从服务器拉工程 check out clone
    提交 commit commit->push
    更新 update pull
    可以发现步骤基本是一样的
    

    ssh详解
    公开密钥加密

    为什么使用GIT?

    • 为了装逼?
    • 因为别人用,所以我们也用?

    肯定不是这些原因,使用git是为了:

    • 提高开发效率!
     git不仅仅是一个代码版本管理工具,也是一个文档管理工具,在git上很容易维护一个文档
    

    git可以提高开发效率,主要表现在:

    • 合并对提交过程的保留
    • 修正提交
    • 廉价好用的本地分支
    • 更强大智能的合并能力
    • 完整配套的开发过程设施(wiki issue 功能大赞!)
    • 查看日志

    相关文章

      网友评论

          本文标题:为什么使用GIT

          本文链接:https://www.haomeiwen.com/subject/gwykrttx.html