1. 程式人生 > >2)Git——簡史,什麼是 Git ?

2)Git——簡史,什麼是 Git ?

Git 簡史

同生活中的許多偉大事物一樣,Git 誕生於一個極富紛爭大舉創新的年代。

Linux 核心開源專案有著為數眾多的參與者。 絕大多數的 Linux 核心維護工作都花在了提交補丁和儲存歸檔的繁瑣事務上(1991-2002年間)。 到 2002 年,整個專案組開始啟用一個專有的分散式版本控制系統 BitKeeper 來管理和維護程式碼。

到了 2005 年,開發 BitKeeper 的商業公司同 Linux 核心開源社群的合作關係結束,他們收回了 Linux 核心社群免費使用 BitKeeper 的權力。 這就迫使 Linux 開源社群(特別是 Linux 的締造者 Linus Torvalds)基於使用 BitKeeper 時的經驗教訓,開發出自己的版本系統。 他們對新的系統制訂了若干目標:

  • 速度

  • 簡單的設計

  • 對非線性開發模式的強力支援(允許成千上萬個並行開發的分支)

  • 完全分散式

  • 有能力高效管理類似 Linux 核心一樣的超大規模專案(速度和資料量)

自誕生於 2005 年以來,Git 日臻成熟完善,在高度易用的同時,仍然保留著初期設定的目標。 它的速度飛快,極其適合管理大專案,有著令人難以置信的非線性分支管理系統(參見 Git 分支

Git 是什麼?

  • Git 是目前世界上最先進的分散式版本控制系統,也是一款基於命令列的版本控制軟體,但在 Windows 和 Mac 系統上也有幾款可用的桌面應用。
  • Git 由 Linux 之父 Linus Torvalds 開發
  • GIT 不僅僅是個版本控制系統,它也是個內容管理系統(CMS)、工作管理系統
  • 版本控制軟體 Git 讓你可以預覽你寫過的程式碼的所有版本
  • Git 跟 SVN一樣有自己的集中式版本庫或伺服器,但是 Git 更傾向於被使用於分散式模式,也就是每個開發人員從中心版本庫/伺服器上 chect out 程式碼後會在自己的機器上克隆一個跟中心版本庫一模一樣的本地版本庫
  • 如果被困在一個不能連線網路的地方,Git仍然能夠提交檔案,檢視 log(歷史版本記錄),建立專案分支等
  • Git 是一款基於命令列的版本控制軟體,在 Windows 和 Mac 系統上也有幾款可用的桌面應用

Git VS SVN

  • 最核心的區別是:Git 是分散式,而 SVN 不是
  • Git 把內容按元資料方式儲存,而SVN是按檔案
  • SVN 斷開網路或者斷開VPN就無法 commit 程式碼,但是 Git 可以先 commit 到本地倉庫
  • Git 克隆一個完整專案的速度非常快,SVN 非常慢

······下一篇《Git——基礎》···········