为什么使用GIT

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 功能大赞!)
  • 查看日志
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1.git的安装 1.1 在Windows上安装Git msysgit是Windows版的Git,从https:/...
    落魂灬阅读 12,705评论 4 54
  • 今天在实习中遇到了一个超级热心的年轻法官,从一个老法官跟他的聊天中足以感受到他的稚嫩,正义,对待很多案件中想要两全...
    鸿玫阅读 192评论 0 0
  • 1.过渡 属性介绍: 联写方式: transition: property duration timing-fun...
    枫丶筱阅读 535评论 0 0
  • 忽遇路人似君影,自嘲恍惚未睡醒。日思夜念缠绕心,身旁行人皆如卿。
    夕阳洛璃阅读 614评论 0 0