目錄
2005 年4 月6 日:git 專案首次對外公開
首頁 開發工具 Git git 生日你知道嗎?

git 生日你知道嗎?

Apr 08, 2022 pm 02:48 PM
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 核心等專案的開發流程。

git 生日你知道嗎?

圖源:維基百科

自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中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解鎖Myrise中的所有內容
4 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

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

Go語言中用於浮點數運算的庫有哪些? Go語言中用於浮點數運算的庫有哪些? Apr 02, 2025 pm 02:06 PM

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

h5項目怎麼運行 h5項目怎麼運行 Apr 06, 2025 pm 12:21 PM

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

Gitee Pages靜態網站部署失敗:單個文件404錯誤如何排查和解決? Gitee Pages靜態網站部署失敗:單個文件404錯誤如何排查和解決? Apr 04, 2025 pm 11:54 PM

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

Beego ORM中如何指定模型關聯的數據庫? Beego ORM中如何指定模型關聯的數據庫? Apr 02, 2025 pm 03:54 PM

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

Go語言中哪些庫是由大公司開發或知名的開源項目提供的? Go語言中哪些庫是由大公司開發或知名的開源項目提供的? Apr 02, 2025 pm 04:12 PM

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

在Go語言中使用Redis Stream實現消息隊列時,如何解決user_id類型轉換問題? 在Go語言中使用Redis Stream實現消息隊列時,如何解決user_id類型轉換問題? Apr 02, 2025 pm 04:54 PM

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

H5頁面製作是否需要持續維護 H5頁面製作是否需要持續維護 Apr 05, 2025 pm 11:27 PM

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

使用 sql.Open 時,DSN 傳空為什麼不報錯? 使用 sql.Open 時,DSN 傳空為什麼不報錯? Apr 02, 2025 pm 12:54 PM

使用sql.Open時,DSN傳空為什麼不報錯?在Go語言中,sql.Open...

See all articles