分布式版本控制系统之Git诞生

Git是目前世界上最先进的分布式版本控制系统,Linus在1991年创建了开源项目Linux,之后Linux不断发展,已经成为最大的服务器系统软件了。

在2002年以前,各地的志愿者是将源码文件通过diff的方式发给Linus,有Linus本人手工合并!!!其实在那时,已经有了CVS,SVN等免费的版本控制系统。因为Linus坚定地反对CVS和SVN,这些集中式的版本控制系统不但速度慢,而且必须联网才能使用。这是Linus坚决反对的,还有一些版本控制系统,不过都是付费的,这和Linux开源的精神不符。

不过Linux不断壮大,代码库之大让人很难手工合并,于是Linus选择了一个商业的版本控制系统BitKeeper,BitKeeper的东家BitMover公司出于人道主义精神,授权Linux社区免费使用这个版本控制系统。安定团结的大好局面在2005年就被打破了,原因是Linux社区牛人聚集,不免沾染了一些梁山好汉的江湖习气。开发Samba的Andrew试图破解BitKeeper的协议(这么干的其实也不只他一个),被BitMover公司发现了(监控工作做得不错!),于是BitMover公司怒了,要收回Linux社区的免费使用权。

Linus花了两周时间自己用C写了一个分布式版本控制系统,这就是Git!一个月之内,Linux系统的源码已经由Git管理了!

Git迅速成为最流行的分布式版本控制系统,尤其是2008年,GitHub网站上线了,它为开源项目免费提供Git存储,无数开源项目开始迁移至GitHub,包括jQuery,PHP,Ruby等等。

历史就是这么偶然,如果不是当年BitMover公司威胁Linux社区,可能现在我们就没有免费而超级好用的Git了。

时间: 2024-09-29 22:33:14

分布式版本控制系统之Git诞生的相关文章

分布式版本控制系统(git基础)

一,了解git 1,git是什么? Git是目前世界上最先进的分布式版本控制系统(没有之一),由Linus公司(创建了开源的linux)开发而成. 2,分布式版本控制系统是什么意思?具体表现在哪? Git就是分布式管理系统,于其对应的集中式版本控制系统有SVN,简单的说,分布式的版本控制就是每个人都可以创建一个独立的代码仓库,用于管理,各种版本控制的操作都可以在本地完成,每个人修改的代码都可以合并推送到另一个代码仓库中.而像SVN这样,只有一个中央服务器,所有的开发人员都必须依赖与这个代码仓库,

分布式版本控制系统(git远程管理)

1,远程仓库概念 在上篇博文中,我们已经掌握了如何在Git仓库里对一个文件进行时光穿梭,再也不用担心文件备份或者丢失的问题了. 可是有用过集中式版本控制系统SVN的朋友会站出来说,这些功能在SVN里早就有了,没看出Git有什么特别的地方. Git是分布式版本控制系统,同一个Git仓库,可以分布到不同的机器上.怎么分布呢?最早,肯定只有一台机器有一个原始版本库,此后可以"克隆"这个原始版本库,而且每台机器的版本库其实都是一样的,并没有主次之分. 你肯定会想,至少需要两台机器才能玩远程库不

分布式版本控制系统(git分支管理)

1,分支管理 分支在实际中有什么用呢?假设你准备开发一个新功能,但是需要两周才能完成,第一周你写了50%的代码,立刻提交,由于代码还没有写完,不完整的代码库会导致别人不能干活了.如果等代码全部写完再一次提交,又存在丢失每天进度的风险.现在有了分支,就不能怕了,你创建了一个属于你自己的分支,别人看不到,还继续在原来的分支上正常工作,而你在自己的分支上干活,想提交就提交,直到开发完毕后,在一次性合并到原来的分支上,这样,既安全,又不影响别人工作. Git的分支与其他版本控制系统不同,无论创建,切换和

分布式版本控制系统Git-----4.Git 常用命令整理

1. git init 初始化 git 目录 2. git add 添加文件 git add fileName       #添加指定文件 git add -i             #手工选择要添加的文件 git add -A             #所有的更改操作--新建,更改,删除: git add .              #只包括 新建 ,修改操作:无删除: git add -u             #只包括修改,删除操作,无新建: git add -p          

分布式版本控制系统Git-----9.Git 使用的小技巧

1. git push -u orgin master[后面push的时候可简写] 第一次push的时候-u后面加上<本地分支名><远程分支>,第二次push的时候就只需要写git push就可以了,但是前提是你远程分支只有一个.例子如下: 第一次: 第二次: 2. git commit -a[会自动把所有已经跟踪过的文件暂存起来一并提交,从而跳过git add步骤] 图片所示我修改了testCommit.txt文件,此文件之前是已经跟踪过的,但是我commit提交会报错,所以需要

分布式版本控制系统Git-----7.Git 使用git rebase合并多次commit

将多次commit合并,只保留一次提交历史. PS:在我练习的时候,将一个文件的代码做了多次修改,而且每次修改都给提交了,这几次改动的目的都一样,比如说修改RADEME.md,但是每次改动的只是一个小小的代码,但是提交历史上的显示看着会很乱,所以需要合并之前的多次提交历史. 1.首先使用git log查看一下提交历史[--oneline作用是将每个提交放在一行显示] 这样在git中看到的是4次提交(更改txt),有点冗余,需要做的是将4次commit合并为一次 2. git 压缩  git re

分布式版本控制系统GIT的使用

一.什么是Git Git是一个分布式版本控制系统,Git 和其他版本控制系统的主要差别在于,Git 只关心文件数据的整体是否发生变化,而大多数其他系统则只关心文件内容的具体差异(如CVS.Subversion等).而Git并不保存这些前后变化的差异数据.Git更像是把变化的文件作快照后记录在一个微型的文件系统中.每次提交更新时,它会纵览一遍所有文件的指纹信息并对文件作一快照,然后保存一个指向这次快照的索引.若文件没有变化,Git不会再次保存,而只对上传保存的快照做一次连接,即若文件未变化则指向上

第1章Git分布式版本控制系统

今天在高铁闲来无事,决定把我之前遗漏的Git好好整理一番. 首先感谢老男孩架构师班赵班长深入讲解Git,综合自己实践整理而来,特此在今天分享给大家. 笔者QQ:572891887 Linux架构交流群:471443208 1.1Git诞生历史 我想大家还记得Linus torvalds在1991年时发布了Linux操作系统吧,从那以后Linux系统变不断发展壮大,因为Linux系统开源的特性,所以一直接受着来自全球Linux技术爱好者的贡献,志愿者们通过邮件向Linus发送着自己编写的源代码文件

手把手教你玩转Git分布式版本控制系统!

目录 Git诞生历史 Git环境准备 Git安装部署 Git常用命令 Git基本操作 Git管理分支结构 Git管理标签 GitLab安装部署 GitHub托管服务 Git客户端工具 1 Git诞生历史 我 想大家还记得Linus torvalds在1991年时发布了Linux操作系统吧,从那以后Linux系统变不断发展壮大,因为Linux系统开源的特性,所以一直接受着来自 全球Linux技术爱好者的贡献,志愿者们通过邮件向Linus发送着自己编写的源代码文件,然后由Linus本人通过手工的方式