歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> SVN基本概念和使用

SVN基本概念和使用

日期:2017/2/28 14:55:26   编辑:Linux教程

倉庫

倉庫(Repository)是svn版本控制的中心,以後所有被svn控制的文件都會存放在這裡。

創建命令為:

svnadmin create d:\svnrepo

創建完成後其目錄如下:

服務

Svn分為客戶端和服務器端,創建服務後可以通過svn://地址和http://地址的方式來訪問服務,其命令如下:

svnserve –r –d d:\svnrepo(倉庫所在位置)

在windows控制台創建後,不能關閉(這是不足之處,linux下可以沒有問題)

可以采用建立windows服務的方式,其命令如下:

sc create SVNService binpath= "D:\SVN\bin\svnserve.exe--service -r d:\svnrepo" depend= tcpip start= auto

其中=號後面一定要有空格

權限

權限可以給不同的用戶不同的權限,包括讀寫,同時可以控制那些項目只讀,那些項目可以讀寫,不同項目被不同人訪問。其設置方式在倉庫的conf目錄下,找到svnserve.conf。

支持匿名方式:

# anon-access = read

# auth-access = write

支持密碼方式:

password-db = passwd

配置後,表示要到passwd文件中添加用戶和密碼

例如添加用戶u1密碼為p1,只需要在其中加入u1=p1

authz-db = authz

配置後,表示可以到authz文件中定義權限。

主干(Trunk)

項目代碼所在的地方,一般是正在開發的代碼。這是好多人的說法,這也是正確的。我還有其他的理解,主干是一個項目或產品的主要支撐點,好比一棵樹,其樹干就是主干,主干出問題那麼所有分支都有問題。同時每一個分支也可以稱為主干,好比一棵樹上大大枝杈,其上可以有較小的枝杈。

有了主干我們可以在其上分化出多個分支,每個分支有不同的作用,同時也可以對其做一些標簽,標志一個個的裡程碑。

分支(Branches)

分支的作用在於解決我們實際開發中遇到的多版本或分期開發問題。不能所有的代碼都在主干上開發,這樣一旦出現問題那麼將導致整個項目維護的工作量增大甚至無法維護。例如:

當項目一期開發完畢並上線運行後,開始了項目二期的開發。假設此時都在主干上開發,在二期開發過程中一旦一期出現問題,我們雖然可以找到問題並解決但是此時已經有了項目二期的代碼並完成,這個時候怎麼修復一期的bug,辦法有但是都是笨辦法。因此當項目一期完成後可以對其建立一個分支,此時上述問題就迎刃而解,只需要拿出一期的分支修復bug並重新編譯部署就可以完成,二期項目也可以同步進行開發。當一期完成後我們可以根據項目的實際特點有選擇的決定是否將分支上的代碼合並到主干上。

標簽(Tags)

其使用不多。從網絡上尋找資料如下:

是用來做一個milestone的,不管是不是release,都是一個可用的版本。這裡,應該是只讀的。更多的是一個顯示用的,給人一個可讀(readable)的標記。

tags的作用是將在branches上修改的bug的代碼合並到trunk上時創建個版本標識,以後branches上修改的bug代碼再合並到trunk上時就從tags的version到branches最新的version合並到trunk,以保證前期修改的bug代碼不會再合並。

之後還會有對svn學習和使用其它文檔,敬請大家以後欣賞。

Copyright © Linux教程網 All Rights Reserved