git 生日你知道嗎?
2005 年4 月6 日:git 專案首次對外公開
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中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

熱門話題

Go語言中用於浮點數運算的庫介紹在Go語言(也稱為Golang)中,進行浮點數的加減乘除運算時,如何確保精度是�...

運行 H5 項目需要以下步驟:安裝 Web 服務器、Node.js、開發工具等必要工具。搭建開發環境,創建項目文件夾、初始化項目、編寫代碼。啟動開發服務器,使用命令行運行命令。在瀏覽器中預覽項目,輸入開發服務器 URL。發布項目,優化代碼、部署項目、設置 Web 服務器配置。

GiteePages靜態網站部署失敗:404錯誤排查與解決在使用Gitee...

在BeegoORM框架下,如何指定模型關聯的數據庫?許多Beego項目需要同時操作多個數據庫。當使用Beego...

Go語言中哪些庫是大公司開發或知名開源項目?在使用Go語言進行編程時,開發者常常會遇到一些常見的需求,�...

Go語言中使用RedisStream實現消息隊列時類型轉換問題在使用Go語言與Redis...

H5頁面需要持續維護,這是因為代碼漏洞、瀏覽器兼容性、性能優化、安全更新和用戶體驗提升等因素。有效維護的方法包括建立完善的測試體系、使用版本控制工具、定期監控頁面性能、收集用戶反饋和製定維護計劃。
