1. Git是什么?

1. Git是什么?

Git是一个(分布式、开源)版本控制系统,将程序的开发过程分步骤的记录下来。一个程序的开发不是一蹴而就的事情,需要经过不断地修改、完善、调试、维护.....

在编码的过程中,可能会发生想把昨天删除的代码恢复,对代码的修改、增加等操作能留下记录,便于后期查看、操作。在团队开发中,使用版本控制系统,便于区分团队成员提交的代码。

 

2. Git的诞生

Git的诞生,要追溯到Linux内核开源项目说起。

Linux内核开源项目有着为数众广的参与者,然而绝大多数的 Linux 内核维护工作都花在了提交补丁和保存归档的繁琐事务上(1991-2002年间)。 到了 2002 年,Linux 系统十周岁之际,整个项目组开始启用一个商业的分布式版本控制系统 BitKeeper 来管理和维护代码。

在2002年,项目组获得了BitKeeper 的免费使用权。可在2005年,BitMover 公司发现 Linux 团队中有人试图破解 BitKeeper 的加密协议。BitMover收回了Linux社区的免费使用权。

与此同时Linux团队决定,开始了开发Git的旅程——

  • 2005年4月3日:Linus 开始开发 Git
  • 2005年4月6日:Git 项目对外发布
  • 2005年4月7日:Git 实现作为自身的版本控制工具
  • 2005年4月18日:实现多分支合并
  • 2005年6月16日:Linux内核2.6.12发布,Git 已经可以用于维护 Linux 核心源码
  • 2005年7月26日:Linus功成身退,将Git的维护工作交给另一名Git的主要贡献者 Junio C Hamano

 

自此,Git迅速在极客圈流行开来,并逐渐成为最流行的分布式版本控制系统。

在2008年,GitHub(http://www.github.com)网站正式上线,它为开源项目免费提供Git存储,无数的开源项目开始迁移至GitHub。至今,GitHub已经是世界上最大的代码存放网站和开源社区。

 

3. 取代SVN

在Git未问世之前,大多数公司使用SVN进行版本控制管理。在Git流行后越来越多的公司选择将代码迁移至Git。最具标志性的就是使用SVN做版本控制的Google Code因GitHub下台。

谈及此,你可知SVN和Git的区别在哪?

最为核心的区别是SVN是集中式版本控制系统,而Git是分布式版本控制系统。

集中式版本控制系统需要一个服务器作为大本营,所有的代码都需要提交到服务器上进行统一管理。当你需要对代码进行修改时,需要先从服务器上下载一份拷贝,修改完成之后,还需要上传回服务器。

 

在分布式版本控制系统中,大家都拥有一个完整的版本库,不需要联网也可以提交修改,所以中心服务器就显得不那么重要了。由于大家都拥有一个完整的版本库,所以只需把各自的修改推送给对方,就可以互相看到对方的修改了。

 

分布式版本控制系统也有一个“中心服务器”,但它只是用于方便大家的交换而已,就算其崩溃了,影响也不大。而GitHub就是这么一个平台。

 

形象的比喻,SVN和Git好比两个家庭。SVN,要求丈夫挣的钱全部统一上交。而Git,允许丈夫发展自己的事业,上交多少钱,什么时候交,都是自愿的事儿。

 

SVN迁移至Git的工具: https://github.com/nirvdrum/svn2git

发布了19 篇原创文章 · 获赞 20 · 访问量 6384
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 大白 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览