1.什麼是版本控制?
版本控制最主要的功能就是追蹤檔案的變更。它將什麼時候、什麼人更改了檔案的什麼內容等資訊忠實地了已錄下來。每一次檔案的改變,檔案的版本號都將增加。除了記錄版本變更外,版本控制的另一個重要功能是並行開發。軟體開發往往是多人協同作業,版本控制可以有效地解決版本的同步以及不同開發者之間的開發通訊問題,提高協同開發的效率。並行開發中最常見的不同版本軟體的錯誤(bug)修正問題也可以通過版本控制中分支與合併的方法有效地解決。
2.內容
版本控制包括:檢入檢出控制、分支和合並、歷史記錄。
1.檢入檢出控制
軟體開發人員對原始檔的修改不能在軟體配置管理庫中進行,對原始檔的修改依賴於基本的檔案系統並在各自的工作空間下進行。為了方便軟體開發,需要不同的軟體開發人員組織各自的工作空間。一般說來,不同的工作空間由不同的目錄表示,而對工作空間的訪問,由檔案系統提供的檔案訪問許可權加以控制。
訪問控制需要管理各個人員存取或修改一個特定軟體配置物件的許可權。開發人員能夠從庫中取出對應專案的配置項進行修改,並檢入到軟體配置庫中,對版本進行“升級”;配置管理人員可以確定多餘配置項並刪除。
同步控制的實質是版本的檢入檢出控制。檢入就是把軟體配置項從使用者的工作環境存入到軟體配置庫的過程,檢出就是把軟體配置項從軟體配置庫中取出的過程。檢人是檢出的逆過程。同步控制可用來確保由不同的人併發執行的修改不會產生混亂。
2.分支和合並
版本分支(以一個已有分支的特定版本為起點,但是獨立發展的版本序列)的人工方法就是從主版本——稱為主幹上拷貝一份,並做上標記。在實行了版本控制後,版本的分支也是一份拷貝,這時的拷貝過程和標記動作由版本控制系統完成。版本合併(來自不同分支的兩個版本合併為其中一個分支的新版本)有兩種途徑,一是將版本a的內容附加到版本b中;另一種是合併版本a和版本b的內容,形成新的版本c。
3.歷史記錄
版本的歷史記錄有助於對軟體配置項進行稽核,有助於追蹤問題的**。歷史記錄包括版本號、版本修改時間、版本修改者、版本修改描述等最基本的內容,還可以有其他一些輔助性內容,比如版本的檔案大小和讀寫屬性。
git svn 版本控制
git是分散式版本控制系統,與svn相比擁有比較明顯的優勢。git svn是一種橋接工具,在server利用svn的情況下,可以讓大家在客戶端享受git提供的便利。下面簡單的介紹下git的功能和特點。一 git的特點 分散式和集中式的最大區別在於開發者可以本地提交。每個開發者機器上都有一個伺服器的資...
版本控制軟體詳解 git,svn 區別
什麼是 版本控制 為什麼要關心它呢?版本控制是一種記錄一個或若干檔案內容變化,以便將來查閱特定版本修訂情況的系統。在本書所展示的例子中,我們對儲存著軟體源 的檔案作版本控制,但實際上,可以對任何型別的檔案進行版本控制。版本控制軟體就是用來管理 的,他有以下優勢 許多人習慣用複製整個專案目錄的方式來儲...
版本管理工具 git svn 的比較
git 分散式。開發者可以提交到本地,每個開發者機器上都是一個完整的資料庫。兩個開發者之間,可以通過打patch的方式交換檔案。git 建立 branch 的速度更快,因為只儲存增量。svn 的 branch 是一份完整的 拷貝。git 工作區 暫存區的概念 儲存檔案後,進入工作區 git add ...