GIT 關於GIT如何實現分布式版本控制系統

2021-09-12 13:32:48 字數 1376 閱讀 6729

1 何為分布式版本控制?它與傳統的版本控制有什麼不同?

1.1什麼是版本控制

1.2 為什麼要有版本控制?

系統軟體因為迭代而需要版本控制。

迭代是因為客觀需求的變更而產生,對於團隊維護的系統迭代,需要對變更記錄做儲存並管理,便於日後出現bug快速查詢修改內容和修改日期。

版本控制本身是乙個工具或者系統,發展今天大體有兩類:分布式版本控制系統(distributed version control system, dvcs)和集中式版本控制系統(centralized version control system, cvcs)。

集中式版本控制系統的特點在於:所有的檔案資源(**、配置檔案和說明文件)都集中放置在**伺服器上,本地可以通過網路與**伺服器相連copy檔案資源,然後進行本地的修改,修改完成通過網路提交到**伺服器上。整個流程高度依賴網路,因此當網路斷開則所有的工作都會受到影響。

分布式版本控制系統則很好的解決這個問題。它的特點在於:每個人在本地都會有自己的版本庫,而不是連線到伺服器上的乙個公共的版本庫,這樣所有的修改記錄都提交並儲存在本地版本庫中,而無需連線伺服器上的版本庫。當有網路時可以多個版本庫同時提交,並附帶提交修改記錄,這樣對於誰在什麼時間修改了哪些內容都一模了然。

這裡可以發現,集中式和分布式的最大區別在於:集中式下的各個程式設計師都需要跟**伺服器上的公共版本庫打交道,而分布式下的程式設計師都有各自的本地版本庫,無需跟公共版本庫打交道。

2 git作為分布式版本控制系統的代表,有哪些突出的功能?

3 git是如何體現分布式版本控制?

3.1 版本庫與工作空間並存。

git的版本庫不在伺服器上,而儲存在本地工作目錄樹的「.git」目錄中。這可以幫助程式設計師盡可能少的與伺服器通訊,而只需要與本地版本庫打交道。

那麼如何建立本地版本庫以及如何建立目錄樹呢?

3.2 提交和推送(commit and push)

3.3 通過**行和字元組織版本庫中的內容

git之所以能夠精確的記錄修改的內容,在於它是記錄和跟蹤組成**檔案的各部分內容,也就是以字元或者**行為記錄單位。而其他版本控制系統都是以檔案為單位儲存的。這樣做的目的在於:①它能夠顯著降低版本庫儲存全部既是版本所需的磁碟空間;②它是的類修改操作變得快捷容易。

3.4 使用標籤跟蹤里程碑

標籤是以乙個簡單的名稱來標記版本庫歷史中某個特點的點;它可以是為了紀念而標記的乙個里程碑,也可以是一次普通的缺陷修復而標記的乙個時間點。標籤的含義大概是為了標識版本庫中乙個難度難記的內部版本號,便於程式設計師跟蹤歷史版本。

3.4 分支的使用

分支個概念比較重要,是分布式與集中式的顯著區別,後續會著重說明。

分布式 Git 分布式工作流程

同傳統的集中式版本控制系統 cvcs 不同,開發者之間的協作方式因著 git 的分布式特性而變得更為靈活多樣。在集中式系統上,每個開發者就像是連線在集線器上的節點,彼此的工作方式大體相像。而在 git 網路中,每個開發者同時扮演著節點和集線器的角色,這就是說,每乙個開發者都可以將自己的 貢獻到另外乙...

分布式 Git 分布式工作流程

你現在擁有了乙個遠端 git 版本庫,能為所有開發者共享 提供服務,在乙個本地工作流程下,你也已經熟悉了基本 git 命令。你現在可以學習如何利用 git 提供的一些分布式工作流程了。這一章中,你將會學習如何作為貢獻者或整合者,在乙個分布式協作的環境中使用 git。你會學習為乙個專案成功地貢獻 並接...

GIT分布式版本控制

git config global user.name your name git config global user.email email example.com git init初始化建立版本庫 git clone url從網路上轉殖repository,注意clone是複製了history...