git 是一個分散式版本控制軟體,最初由Linux 之父林納斯·托瓦茲創作,於2005 年4 月6日以GPL 授權協議發布。最初是為了更好地管理 Linux 核心開發而設計。發布後的次日,git 實現了作為自身的版本控制工具,因此一般把 4 月 7 日視為 git 誕生日。 git 是目前世界上最受歡迎的開源分散式版本控制系統,初始由林納斯·托瓦茲開發,後來移交給濱野純。
git 最初的開發動力來自BitKeeper 和Monotone;git 最初只是作為一個可以被其他前端(例如Cogito 或Stgit)包裝的後端而開發的,但後來git 核心已經成熟到可以獨立地用作版本控制。許多被廣泛使用的軟體專案都使用 git 進行版本控制,其中包括 Linux 核心、X.Org 伺服器和 OLPC 核心等專案的開發流程。
圖源:維基百科
自2002 年開始,林納斯·托瓦茲決定使用BitKeeper 作為Linux 核心主要的版本控制系統用以維護程式碼。因為 BitKeeper 為專有軟體,這個決定在社群中長期遭受質疑。在 Linux 社群中,以理查德·斯托曼為代表的自由軟體基金會成員,則主張應該使用開放原始碼的軟體作為 Linux 核心的版本控制系統。林納斯·托瓦茲也曾考慮採用現成軟體作為版本控制系統(例如 Monotone),但這些軟體都存在一些問題(例如效能不佳)。而現成的其他方案,如 CVS 的架構,則受到林納斯·托瓦茲的批評。
2005 年,安德魯垂鳩(Andrew Tridgell)寫了一個簡單程序,這個程序可以連接BitKeeper 的倉庫;BitKeeper 著作權擁有者拉里·麥沃伊認為安德魯·垂鳩對BitKeeper 內部使用的協議進行逆向工程,決定收回無償使用BitKeeper 的許可。 Linux 核心開發團隊與 BitMover 公司進行磋商,但無法解決他們之間的歧見。失去了 BitKeeper,林納斯·托瓦茲只能決定自行開發版本控制系統取代 BitKeeper,最終他以十天的時間,用 C 語言編寫出了 git 的第一個版本。
其實Linux 核心開發團隊決定開始開發並使用git 來作為核心開發的版本控制系統的時候,世界上開源社群的反對聲音不少,最大的理由是git 太艱澀難懂;但隨著開發的深入,git 的正常使用都由一些友善的指令來執行,讓git 變得非常好用。作為開源自由原教旨主義項目,git 沒有對版本庫的瀏覽和修改做任何的權限限制,透過其他工具也可以達到有限的權限控制。原本 git 的使用範圍只適用於 Linux/Unix 平台,但在 Windows 平台下的使用也日漸成熟,這主要歸功於 Cygwin、msysgit 環境,以及 TortoiseGit 這樣易用的 GUI 工具。 git 的原始碼中也已經加入了對 Cygwin 與 MinGW 編譯環境的支援且逐漸完善,為 Windows 使用者帶來福音。
#推薦:《Git使用教學》
以上是git 生日你知道嗎?的詳細內容。更多資訊請關注PHP中文網其他相關文章!