SVN使用

  1. SVN

概念:
SVN是一個跨平臺的開源版本控制系統,SVN會備份並記錄每個文件每一次的修改更新變動。我們可以回滾到舊的版本。

端口:3690

使用方法:
先從中央庫check out,然後修改自己的代碼後在commit

備份:
需要備份所有代碼以及所有更改的版本記錄。

缺點:
1、當無法連接到中央版本庫的環境下,你無法提交代碼,看不到代碼的歷史版本。
2、每次提交都保留原始副本,因此數據庫容量會暴增
3、不適合開源系統開發
4、特別適合幾個人的小項目

svn和git區別:
git是分佈式的版本管理系統,開發者本地也包含一個完整的git倉庫

服務運行方式:
1、獨立服務器訪問SVN://svn.svnserver.com/doc/
2、apache+svn訪問http://svn.svnserver.com/doc/ (CSVN)
3、在svn服務器端用http://svn.svnserver.com/doc/

客戶端訪問方式
1、http://
2、SVN://

svn數據格式
1、BDB(一種事物安全型表類型)
2、FSFS(不需要數據庫的存儲系統)

#############################################################################
創建項目目錄
mkdir -p /application/svndata #項目文件
mkdir -p /application/svnpasswd #密碼、權限文件

安裝
yum install subversion -y

運行svn:-d守護進程 -r指定數據存儲目錄
svnserve -d -r /application/svndata

創建一個新的項目sadoc
svnadmin create /application/svndata/sadoc

修改配置文件
vim /application/svndata/sadoc/conf/svnserve.conf
anon-access = none #禁止匿名訪問
auth-access = write #認證讀寫
password-db = /application/svnpasswd/passwd #密碼目錄
authz-db = /application/svnpasswd/authz #權限目錄

複製文件到自定義的密碼和權限目錄
cd /application/svndata/sadoc/conf/
cp authz passwd /application//svnpasswd/

只允許root看見密碼和權限
cd /application/svnpasswd
chmod 700 *

創建用戶
vim /application/svnpasswd/passwd
[users]
lmkmike = 123456
lmkzxh = 123456

注意事項
更改svnserve.conf後必須重啓,authz和passwd不需要
vim /application/svnpasswd/authz
更改權限
[groups]
sagroup = lmkmike,lmkzxh
[sadoc:/]
lmkmike = rw
lmkzxh = r
@sagroup = r

客戶端svn可以通過SVN://192.168.56.100/sadoc/
然後輸入用戶名和密碼即可(checkout和commit)

linux svn客戶端checkout命令
svn co svn://192.168.56.100/sadoc /tmp/sadoc --username lmkmike --password 123456

備份

1本地備份整個最新版本,不包括歷史版本的信息
svnadmin hotcopy /application/svndata/sadoc/ /tmp1
2、
查看最新版本號
svnlook youngest /application/svndata/sadoc/
所有版本備份
svnadmin dump /application/svndata/sadoc/ > /tmp/fileall
只備份0-2
svnadmin dump /application/svndata/sadoc/ -r 0:2 --incremental > /tmp/fileall0-2
只備份3-4
svnadmin dump /application/svndata/sadoc/ -r 3:4 --incremental > /tmp/fileall3-4

3、新建空庫dump、dump1、dump2做還原實驗。
svnadmin create /application/svndata/dump
svnadmin create /application/svndata/dump1
svnadmin create /application/svndata/dump2

原因所有版本
svnadmin load /application/svndata/dump < /tmp/fileall

還原0:2
svnadmin load /application/svndata/dump1 < /tmp/fileall0-2

還原0:4
svnadmin load /application/svndata/dump2 < /tmp/fileall0-2
svnadmin load /application/svndata/dump2 < /tmp/fileall3-4

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章