Git 系列之「Git 的誕生」
Linus 在 1991 年建立了開源的 Linux 系統。10 年後名揚天下,20 年後統治伺服器領域,可謂 Linux 恆久遠,Linus 永流傳。
雖然 Linus 建立了 Linux,但確是靠全世界熱心的志願者積極參與才使得 Linux 不斷壯大的。這麼龐大的工程是如何維護其原始碼的呢?
事實上在 1991-2002 年間,Linus 都是通過手工合併的方式維護程式碼。轉眼,來到了 2002 年,隨著原始碼飛速增長, Linus 已經疲於應付手工維護程式碼了,於是乎整個專案組開始啟用分散式版本控制系統 BitKeeper 來管理和維護程式碼。BitKeeper 的開發商是 BitMover ,BitMover 的創始人和 CEO 期望 BitKeeper 能幫助 Linus 免於陷入不斷加重的 Linux 核心管理工作中, 出於東方人道主義免費給 Linux 使用 BitKeeper 。
不過好事不長久,由於某些商業原因,2005 年開發 BitKeeper 的商業公司同 Linux 的合作關係結束,他們收回了免費使用 BitKeeper 的權力。這就迫使 Linus 不得不吸取教訓,只有開發一套屬於自己的版本控制系統才不至於重蹈覆轍。
週末 Linus 消失了,十天後,Git 問世了。今天,Git 已經成為上萬個專案的版本控制系統。
牛X就是這麼定義的,一言不合就自己造輪子。
相關文章
- Git 系列文章Git
- [Git系列] 前言Git
- git學習之git rebaseGit
- Git使用系列03-->Git倉庫建立Git
- git學習之git reflog和git cherry-pickGit
- Git基礎命令之git rebase命令Git
- 前端綜合能力系列之git與gitflow前端Git
- git操作之四:git branch(本地倉庫)Git
- [Git] Git整理(四) git rebase 的使用Git
- Git系列:常用命令Git
- git命令使用(必備系列)Git
- 7、Git之Github操作Github
- 5、Git之版本號Git
- [Note] git清空.git目錄後,重新再git init & git remote的討論GitREM
- 【Git 系列】基礎知識全集Git
- Git 系列教程(14)- 遠端分支Git
- Git 系列教程(7)- 撤銷操作Git
- Git 系列教程(9)- 打標籤Git
- JB的git之旅-git命令列Git命令列
- Git rebase 與 Git merge 的使用Git
- Git:Git常用操作Git
- git、github、gitlab之間的關係GithubGitlab
- git專案之間的commit同步GitMIT
- 我的前端筆記之git篇前端筆記Git
- Git 系列教程(8)- 遠端倉庫的使用Git
- 版本控制系統之gitGit
- git hooks之——pre-commitGitHookMIT
- git checkout 和 git reset 的區別 —— Git 學習筆記 09Git筆記
- Go 語言版 Service Mesh Sidecar 剖析系列之 SOFAMosn 的誕生和特性總覽GoIDE
- git reset 和 git revertGit
- git rebase 和 git mergeGit
- git revert與git resetGit
- 【git教程】快速掌握gitGit
- 利用emoji讓的 git commit 生動清晰起來GitMIT
- Git相關 | Git 常見的錯誤Git
- 【git】前端使用git分支的開發流程Git前端
- 小米便籤AS部署之Git的基本使用Git
- Git的命令Git