1. 程式人生 > 其它 >一、Git分散式版本控制系統

一、Git分散式版本控制系統

1、引入

在開發一個軟體專案時,本地只有幾十行程式碼或幾百行程式碼時還可以維護,但當代碼達到一定的數量後或兩三個人共同開發一個專案時,就很容易會出現程式碼混亂、衝突、排錯難等問題。一旦開發完工以後發現整個專案執行不了,提交的程式碼也無法確認到責任人,導致維護專案時需要花費數倍的時間。為解決上述問題,版本控制系統應運而生。

版本控制是指對軟體開發過程中各種程式程式碼、配置檔案及說明文件等檔案變更的管 理,是軟體配置管理的核心思想之一。

2、版本控制系統

2.1、本地版本控制

本地版本控制系統許多人習慣用複製整個專案目錄的方式來儲存不同的版本,或許還會改名加上備份時間以示區別。這麼做唯一的好處就是簡單,但是特別容易犯錯。有時候會混淆所在的工作目錄,一不小心會寫錯檔案或者覆蓋意想外的檔案,無法識別檔案中的修改。

2.2、集中化的版本控制系統

如何讓處於不同系統上的開發者協同工作?於是,集中化的版本控制系統(Centralized Version Control Systems,簡稱CVCS)應運而生。這類系統,諸如CVS、Subversion(SVN)以及Perforce等,都有一個單一的集中管理的伺服器,儲存所有檔案的修訂版本,而協同工作的人們都通過客戶端連到這臺伺服器,取出最新的檔案或者提交更新。多年以來,這已成為版本控制系統的標準做法。

2.3、分散式版本控制系統

在這類系統中,像Git、Mercurial、Bazaar以及Darcs等,客戶端並不只提取最新版本的檔案快照,而是把程式碼倉庫完整地映象(克隆)下來。這麼一來,任何一處協同工作用的伺服器發生故障,事後都可以用任何一個映象出來的本地倉庫恢復。因為每一次的克隆操作,實際上都是一次對程式碼倉庫的完整備份。

3、Git介紹

 官網:https://git-scm.com
 官方中文手冊: https://git-scm.com/book/zh/v2

  

git是一個分散式版本控制軟體,最初由林納斯·託瓦茲(Linus Torvalds)創作,於2005年以GPL釋出。最初目的是為更好地管理Linux核心開發而設計。