Git之旅① - 历史起源与特点
1. Git是什么?
带着这个问题 , 我Google了一下这个单词的含义 。
文章插图
是的 , 你没看错 。 原意是:蠢货、饭桶 。
难道今天我们讨论的主题是这个吗 , NO , No , No 。 是 , 也不全是 。
说是:那是在这个单词没有遇到林纳斯之前 。
说不全是:那是在这个单词遇到林纳斯之后 。
维基百科告诉我们:
Git是一个分布式版本控制软件 , 最初由林纳斯·托瓦兹创作 , 于2005年以GPL发布 。 最初目的是为更好地管理Linux内核开发而设计 。
2. 关于名字
但凡身为开发人员 , 想必无人不知无人不晓这个目前最流行的代码管理软件 。 至于为什么是这个名字 , 可以从几个地方对其了解一二 。
I'm an egotistical bastard, and I name all my projects after myself. First Linux, now git.
—— 林纳斯·托瓦兹自嘲地取了这个名字 。
Kernel中关于Git名字的说明
git(1) Manual PageNAMEgit - the stupid content tracker
在Git源码中的README中有这么一段话
The name "git" was given by Linus Torvalds when he wrote the veryfirst version. He described the tool as "the stupid content tracker"and the name as (depending on your mood):- random three-letter combination that is pronounceable, and notactually used by any common UNIX command. The fact that it is amispronunciation of "get" may or may not be relevant.- stupid. contemptible and despicable. simple. Take your pick from thedictionary of slang.- "global information tracker": you're in a good mood, and it actuallyworks for you. Angels sing, and a light suddenly fills the room.- "goddamn idiotic truckload of sh*t": when it breaks
3. Git历史渊源首先 , 想说的是 , git是一个‘悲伤的故事’所导致的产物 。
自2002年开始 , 林纳斯·托瓦兹决定使用BitKeeper作为Linux内核主要的版本控制系统用以维护代码 。 因为BitKeeper为专有软件 , 这个决定在社群中长期遭受质疑 。 在Linux社群中 , 特别是理查德·斯托曼与自由软件基金会的成员 , 主张应该使用开放源代码的软件来作为Linux内核的版本控制系统 。 林纳斯·托瓦兹曾考虑过采用现成软件作为版本控制系统(例如Monotone) , 但这些软件都存在一些问题 , 特别是性能不佳 。 现成的方案 , 如CVS的架构 , 受到林纳斯·托瓦兹的批评 。
2005年 , 安德鲁·垂鸠写了一个简单程序 , 可以连接BitKeeper的存储库 , BitKeeper著作权拥有者拉里·麦沃伊认为安德鲁·垂鸠对BitKeeper内部使用的协议进行逆向工程 , 决定收回无偿使用BitKeeper的许可 。 Linux内核开发团队与BitMover公司进行磋商 , 但无法解决他们之间的歧见 。 林纳斯·托瓦兹决定自行开发版本控制系统替代BitKeeper , 以十天的时间编写出git第一个版本 。
划重点:十天时间 。 没错 , 十天时间 。
大神在短短十天时间就创造了这个非凡的工具 。 在我看来 , 堪比上帝七天创造世界 。 不过 , 林纳斯创造的是一个属于程序员的世界 。
什么?你连林纳斯是谁都不知道?好吧 , 这里放上一张我最喜欢的林纳斯怼英伟达的图片 , 让你见识一下大神的魅力 。
文章插图
(林纳斯大神的脾气就像他的代码一样牛 , 可我只选择看到他的代码 。 ^_^)
4. Git周边目前全球最大的男性同性交友网站:GitHub
很多公司使用的类似GitHub的开源系统:Gitlab
基于git的持续集成CI
......
5. 极客之王其实 , 让林纳斯更被人熟知的是Linux kernel(GNU/Linux) 。 目前 , 该系统跑在全世界超过80%的服务器以及超级计算机上 。 我们每天都在靠着这位神一样存在的人物 , 赏口饭吃 。 他 , 是名副其实的极客之王 。
kernel 官网:
Git官网:
Git源码GitHub地址:
林纳斯GitHub地址:
两本关于林纳斯的书籍
文章插图
文章插图
【Git之旅① - 历史起源与特点】一部关于Linux的纪录片
文章插图
6. 版本控制系统(VCS)版本控制系统(version control system),是一种记录一个或若干文件内容变化 , 以便将来查阅特定版本修订情况的系统 。 版本控制系统不仅可以应用于软件源代码的文本文件 , 而且可以对任何类型的文件进行版本控制 。 用的比较多的如svn , git等 。
- 爱了!一个现代化的 Git CLI 客户端,一堆命令不用记了
- GitHub 热榜:《去你丫的算法》开放电子书下载
- 我到底应该用git-merge还是git-rebase呢?
- 使用nginx反向代理github
- 拒绝奸商!从零开始的CPU入门之旅
- GitHub上疯狂被传的顶尖大牛所著《趣谈网络协议》,手慢无
- iPhone|DigiTimes:为强化 iPhone 光学变焦,苹果考虑潜望式镜头技术
- 基金|Mike Novogratz的Galaxy Digital为比特币基金筹集了5870万美元
- 危化品|高质量发展看山东·县域行|东营区① 危化品物流的“货运滴滴”来啦!
- 有了 Git 这个操作,我再也不怕代码混乱了