Linux中SVN伺服器安裝與使用以及windows用戶端的使用(CentOS-6.5)

來源:互聯網
上載者:User

標籤:linux   svn   

1 SVN簡介
    svn是Subversion的簡稱,是一個開放原始碼的版本控制系統,相較於RCS、CVS,它採用了分支管理系統,它的設計目標就是取代CVS。互連網上很多版本控制服務已從CVS轉移到Subversion。
svn伺服器有2種運行方式:獨立伺服器和藉助apache運行。兩種方式各有利弊,使用者可以自行選擇。
svn儲存版本資料也有2種方式:BDB(一種事務安全型表類型)和FSFS(一種不需要資料庫的儲存系統)。因為BDB方式在伺服器中斷時,有可能鎖住資料,所以還是FSFS方式更安全一點。

2 SVN下載
    Svn用戶端與伺服器端的: http://tortoisesvn.net/

3 SVN伺服器的安裝
3.1 Linux環境安裝與配置
1)安裝
    # yum install -y subversion

2) 驗證安裝版本
    # svnserve --version

3) 建立SVN 版本庫, project1為版本庫名稱
    # mkdir /data0/svn
    # svnadmin create /data0/svn/project1

4)添加使用者,格式為:使用者名稱 = 密碼
    # vi /data0/svn/project1/conf/passwd  
    [users]
    CleverCode = 123456
    test1 = 123456
    test2 = 123456
    
5)添加存取權限,CleverCode使用者添加到admin組,能對/data0/svn/project1整個目錄有讀寫權限;test1,test2使用者添加到test組,只能對/data0/svn/project1/test目錄有讀寫權限
    # vi /data0/svn/project1/conf/authz
    [groups]
    admin = CleverCode
    test = test1,test2
    
    [project1:/]
    @admin = rw
    
    [project1:/test]
    @test = rw
7) 配置svnserve.conf,這個檔案開頭每行開頭不能有空格。
    配置說明:
    anon-access: 控制非鑒權使用者訪問版本庫的許可權。
    auth-access:  控制鑒權使用者訪問版本庫的許可權。
    password-db: 指定使用者名稱口令檔案名稱。
    authz-db:指定許可權設定檔名,通過該檔案可以實現以路徑為基礎的存取控制。
    realm:指定版本庫的認證域,即在登入時提示的認證網域名稱稱。若兩個版本庫的認證域相同,建議使用相同的使用者名稱口令資料檔案


    # vi /data0/svn/project1/conf/svnserve.conf
    [general]
    #匿名訪問的許可權,可以是read,write,none,預設為read
    anon-access = none
    #認證使用者的許可權,可以是read,write,none,預設為write  
    auth-access = write
    password-db = /data0/svn/project1/conf/passwd
    authz-db = /data0/svn/project1/conf/authz
    
8)配置防火牆,svn 是3690連接埠
    # vi /etc/sysconfig/iptables
    -A INPUT -p tcp -m state --state NEW -m tcp --dport 3690 -j ACCEPT
    # service iptables restart

9) 啟動SVN, -d表示後台運行,-r 指定根目錄是 /data0/svn
    # svnserve -d -r /data0/svn

10)查看SVN
# ps -ef | grep svn

3.2 Windows環境安裝與配置
下載windows伺服器端後,按照提示,下一步在下一步即可,windows的相對比較簡單,所以不再詳細說明。

4 SVN用戶端的使用
4.1 Linux環境使用
1、將檔案checkout到本地目錄
    svn checkout path(path是伺服器上的目錄)
    例如:svn checkout svn://192.168.1.1/pro/domain
    簡寫:svn co

2、往版本庫中添加新的檔案
    svn add file
    例如:svn add test.php(添加test.php)
    svn add *.php(添加目前的目錄下所有的php檔案) 

3、將改動的檔案提交到版本庫
    svn commit -m “LogMessage“ [-N] [--no-unlock] PATH(如果選擇了保持鎖,就使用–no-unlock開關)
    例如:svn commit -m “add test file for my test“ test.php
    簡寫:svn ci

4、加鎖/解鎖
    svn lock -m “LockMessage“ [--force] PATH
    例如:svn lock -m “lock test file“ test.php
    svn unlock PATH 

5、更新到某個版本
    svn update -r m path
    例如:
    svn update如果後面沒有目錄,預設將目前的目錄以及子目錄下的所有檔案都更新到最新版本。
    svn update -r 200 test.php(將版本庫中的檔案test.php還原到版本200)
    svn update test.php(更新,於版本庫同步。如果在提交的時候提示到期的話,是因為衝突,需要先update,修改檔案,然後清除svn resolved,最後再提交commit)
    簡寫:svn up 

6、查看檔案或者目錄狀態
    1)svn status path(目錄下的檔案和子目錄的狀態,正常狀態不顯示)
    【?:不在svn的控制中;M:內容被修改;C:發生衝突;A:預定加入到版本庫;K:被鎖定】M狀態一般比較多
    2)svn status -v path(顯示檔案和子目錄狀態)
    第一列保持相同,第二列顯示工作版本號碼,第三和第四列顯示最後一次修改的版本號碼和修改人。
    註:svn status、svn diff和 svn revert這三條命令在沒有網路的情況下也可以執行的,原因是svn在本地的.svn中保留了本地版本的原始拷貝。
    簡寫:svn st 

7、刪除檔案
    svn delete path -m “delete test fle“
    例如:svn delete svn://192.168.1.1/pro/domain/test.php -m “delete test file”
    或者直接svn delete test.php 然後再svn ci -m ‘delete test file‘,推薦使用這種
    簡寫:svn (del, remove, rm)

8、查看日誌
    svn log path
    例如:svn log test.php 顯示這個檔案的所有修改記錄,及其版本號碼的變化

9、查看檔案詳細資料
    svn info path
    例如:svn info test.php

10、比較差異
    svn diff path(將修改的檔案與基礎版本比較)
    例如:svn diff test.php
    svn diff -r m:n path(對版本m和版本n比較差異)
    例如:svn diff -r 200:201 test.php
    簡寫:svn di 

11、將兩個版本之間的差異合并到當前檔案
    svn merge -r m:n path
    例如:svn merge -r 200:205 test.php(將版本200與205之間的差異合并到當前檔案,但是一般都會產生衝突,需要處理一下)

12、SVN 協助
    svn help
    svn help ci
    
4.2 Windows環境使用
1) 通過官網下載svn的windows用戶端,按照後。
2) 建立project1檔案件,選中檔案件點擊右鍵,選擇 【SVN checkout】。


3)然後如使用。


 

4)輸入使用者與密碼。CleverCode:123456。


 

5 建立本地倉庫

建立本地倉庫是為瞭解決沒有svn伺服器。直接在windows本地使用,適用於單個人在本機開發提交代碼。不適用團隊開發。

1)建立本地倉庫:選中某個檔案夾(例如code),=》【TortoiseSVN】=》【create repository here】。

2)查看本地倉庫地址:選中code目錄,=》【TortoiseSVN】=》【repo-browse】。本機地址為:file:///E:/a/code。


3)check out倉庫資料:選中另外一個目錄(mycode),=》【SVN checkout】,在地址中輸入file:///E:/a/code即可。



Linux中SVN伺服器安裝與使用以及windows用戶端的使用(CentOS-6.5)

相關文章

Beyond APAC's No.1 Cloud

19.6% IaaS Market Share in Asia Pacific - Gartner IT Service report, 2018

Learn more >

Apsara Conference 2019

The Rise of Data Intelligence, September 25th - 27th, Hangzhou, China

Learn more >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。