Git 简介

1 Git是什么

Git是一个开源的分布式版本控制系统,用于敏捷高效地处理从小到非常大的项目版本管理。是Linus Torvalds为了帮助管理Linux内核开发而设计开发的开放源码的版本控制软件。Git不仅仅是个版本控制系统,也是一个内容管理系统(CMS)、工作管理系统等。

2 Git与SVN区别

由于设计理念的差异,Git和SVN有着比较大的差异。这里只介绍一些的使用上比较明显的差异:

1. Git是分布式的,SVN不是。这是Git和其他版本控制系统差异的根源之一,表现在SVN有一个Server作为中心资源点,而Git所有资源点的地位都是相同的,如下图所示:

SVN和Git差异对比图

2. Git是按照元数据的方式存储,而SVN是按照文件存储。类似SVN把所有资源的控制信息保存在 .svn 这个隐藏文件夹下,Git则保存在 .git 隐藏文件夹下,这个文件夹下存储了标签、分支、版本记录等等信息,相比SVN这个文件夹非常大。

3. 一个项目的多个分支,对于SVN来讲是多份文件,对于Git来讲是一份文件。Git 与SVN的分支差异比较大。对于SVN来讲,不同的分支是同一份文件的拷贝,每次新建分支需要消耗很多的资源完成拷贝,同时分支太多会导致占用太多的硬盘空间。而Git的分支可以看作是同一份文件的另一个索引,这就让Git创建分支的开销非常小,并且再多的分支也是使用这一份文件,只占用这一份文件的硬盘空间。

4. Git的版本控制是不依赖网络的。Git的提交是不需要网络的,因为是提交到的本地的仓库之中,同步到远程仓库则是需要网络的。SVN的提交则是依赖网络的。

5. Git相较于SVN更加安全。SVN的Server如果出现问题,那么版本控制数据就会全部丢失。而对于Git而言,只要有一台保存Git仓库数据的机器幸存下来,版本控制数据就可以快速的恢复。

3 Git 优点

1. 运行速度快。Git执行命令的速度很快,特别是在进行分支操作的时候,速度相比于SVN更是有巨大的领先。

2. 离线操作。Git提交没有任何的限制,不需要依赖网络。

3. 撤销错误操作。几乎所有人都会犯错误,比如忘记包含一个改动,需要撤销一个完整的提交等,Git可以完美的恢复,因为Git几乎很少真正的删除数据。

4. 更高的自由度。Git的功能非常的多,核心的功能则是分支,围绕着分支,选择适合项目规模的分支模型可以更加科学的管控项目代码的质量,方便产品进行迭代。

5. 流行。现在越来越多的公司和开源项目都在使用Git。拥有一个大型的用户群体是有很多的优势的,比如大量的教程、工具和服务等。

4 Git和GitHub与GitLab的关系

一提到Git,就会有很多的人脱口而出GitHub,但是这两个并不是一个东西。

Git是一个分布式的版本控制系统,是用来进行版本管理的。

GitHub是一个面向开源以及私有的项目的托管平台,因为只支持Git作为唯一的版本库格式进行托管,故名GitHub。GitHub也是目前全球最大的代码托管平台,上面有很多开源的项目,可以帮助程序员之间相互学习和交流。

GitLab是一个基于Git实现的在线代码仓库软件。可以搭建一个类似于GitHub一样的仓库,拥有完善的管理页面和权限控制。一般用于企业内部搭建Git私服。我们公司也是用的GitLab搭建了一个私服。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

夜猫子起床

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值