目錄
「君子務本」 | ||
| --孔子 | ||
分支、標籤和合併是所有版本控制系統的共同概念,如果你並不熟悉這些概念,我們會在這一章裡很好的介紹,如果你很熟悉,非常希望你有興趣知道Subversion是怎樣實現這些概念的。
分支是版本控制的基礎組成部分,如果你允許Subversion來管理你的資料,這個特性將是你所必須依賴的,這一章假定你已經熟悉了Subversion的基本概念(第 1 章 基本概念)。
假設你的工作是維護本公司一個部門的手冊文件,一天,另一個部門問你要相同的手冊,但一些地方會有「區別」,因為他們有不同的需要。
這種情況下你會怎樣做?顯而易見的方法是:作一個版本的拷貝,然後分別維護兩個版本,只要任何一個部門告訴要做一些小修改,你必須選擇在對應的版本進行更改。
你也許希望在兩個版本同時作修改,舉個例子,你在第一個版本發現了一個拼寫錯誤,很顯然這個錯誤也會出現在第二個版本裡。兩份文件幾乎相同,畢竟,只有許多特定的微小區別。
這是分支的基本概念—正如它的名字,開發的一條線獨立於另一條線,如果回顧歷史,可以發現兩條線分享共同的歷史,一個分支總是從一個備份開始的,從那裡開始,發展自己獨有的歷史(見 圖 4.1 「分支與開發」)。
Subversion允許你並行的維護文件和目錄的分支,它允許你通過拷貝資料建立分支,記住,分支互相聯繫,它也幫助你從一個分支複製修改到另一個分支。最終,它可以讓你的工作副本反映到不同的分支上,所以你在日常工作可以「混合和比較」不同的開發線。