使用Subversion进行版本控制 附录A
更詳細內容請見:
中文版:http://www.subversion.org.cn/svnbook/ 英文版:http://svnbook.red-bean.com/快速指南
“請確定你坐在了正確的位置,你的盤桌已經關閉,乘務員們,準備起飛…。”
這是一個非常高層次的教程,能夠幫助你熟悉Subversion的基本配置和操作,在結束這個教程時,你一定能夠對Subversion的典型使用有了一個基礎的認識。
運行下面的例子需要首先正確安裝Subversion客戶端程序svn以及管理工具svnadmin,并且必須為1.2或更新版本的Subversion程序(可以運行svn --version來檢查Subversion的版本。)
Subversion的所有版本化數據都儲存在中心版本庫中。因此首先,我們需要創建一個版本庫:
$ svnadmin create /path/to/repos $ ls /path/to/repos conf/ dav/ db/ format hooks/ locks/ README.txt這個命令創建了一個新目錄/path/to/repos,并在其中創建了一個Subversion版本庫。這個目錄里主要保存了一些數據庫文件(還有其它一些文件),而不像CVS那樣保存著版本化的文件。需要更多版本庫創建和維護方面的內容,參見第?5?章?版本庫管理。
在Subversion沒有“項目”的概念。Subversion的版本庫只是一個虛擬的版本化文件系統,可以存放你想要存放的任何文件。有些管理員喜歡為每個項目建立一個獨立的版本庫,而另外一些管理員則喜歡將多個項目存放到同一個版本庫的不同目錄里。這兩種方式各有各的優點,關于這方面內容的敘述,參見“規劃你的版本庫結構”一節。不論是哪一種方式,版本庫都只是負責管理文件和目錄,而“項目”則是人為指定的概念。因此,盡管本書中遍布著項目這個詞,但是請記住我們只不過是在談論版本庫中的某些特定目錄(或者是一組目錄)。
在這個例子中,我們假定已經有一些需要導入到Subversion版本庫的條目(一組文件和目錄)。接下來,我們需要把這些條目整理到一個名為myproject的目錄(或者其它任意目錄)里。在這個目錄下,創建三個頂級子目錄:branches、tags和trunk,這樣做的原因將在后文中闡述。之后,將所有需版本化的數據保存到trunk目錄下,同時保持branches和tags目錄為空:
/tmp/myproject/branches/ /tmp/myproject/tags/ /tmp/myproject/trunk/foo.cbar.cMakefile…branches、tags和trunk這三個子目錄不是Subversion必須的。但這樣做是Subversion的習慣用法,我們還是遵守這個約定吧。
準備好了數據之后,就可以使用svn import命令(參見“導入數據到你的版本庫”一節)將其導入到版本庫中:
$ svn import /tmp/myproject file:///path/to/repos/myproject -m "initial import" Adding /tmp/myproject/branches Adding /tmp/myproject/tags Adding /tmp/myproject/trunk Adding /tmp/myproject/trunk/foo.c Adding /tmp/myproject/trunk/bar.c Adding /tmp/myproject/trunk/Makefile … Committed revision 1. $現在版本庫中已經保存了目錄中的數據。如前所述,直接查看版本庫是看不到文件和目錄的;它們存放在數據庫之中。但是版本庫的虛擬文件系統中則包含了一個名為myproject的頂級目錄,其中依此保存了所有的數據。
注意我們在一開始創建的那個/tmp/myproject目錄并沒有改變,Subversion并不在意它(事實上,完全可以刪除這個目錄)。要開始使用版本庫數據,我們還要創建一個新的用于存儲數據的“工作拷貝”,這是一個私有工作區。從Subversion版本庫里“檢出”一個myproject/trunk目錄工作拷貝的操作如下:
$ svn checkout file:///path/to/repos/myproject/trunk myproject A myproject/foo.c A myproject/bar.c A myproject/Makefile … Checked out revision 1.現在,在myproject目錄下生成了一個版本庫數據的獨立拷貝。我們可以在這個工作拷貝中編輯文件,并將修改提交到版本庫中。
-
進入工作拷貝目錄,編輯某個文件的內容。
-
運行svn diff以標準差別格式查看修改的內容。
-
運行svn commit將更改提交到版本庫中。
-
運行svn update“更新”工作拷貝。
完整的工作拷貝操作指南,請參見第?2?章?基本使用。
現在,Subversion版本庫可以通過網絡方式訪問。參考第?6?章?服務配置,了解不同服務器軟件的使用以及配置方法。
總結
以上是生活随笔為你收集整理的使用Subversion进行版本控制 附录A的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 关于VMware虚拟机的上网
- 下一篇: 使用C语言读取properties文件V