(1)安裝svn
dnf install -y subversion
(2)建立svn多版本庫
mkdir
$home/svn
svnadmin create $home/svn/project1
svnadmin create $home/svn/project2
在相應目錄下的conf
資料夾中有如下三個檔案:
svnserve.conf
: svn服務配置檔案下
passwd
: 使用者名稱密碼檔案
authz
: svn許可權配置檔案
(3)配置svn(為便於配置管理,將所有版本庫的「賬號密碼」和「登陸使用者許可權」等控制檔案指定為同乙個配置檔案)
cp
$home/svn/project1/conf/passwd $home/svn/
cp$home/svn/project1/conf/authz $home/svn/
修改每個專案版本庫的/conf/svnserve.conf
(訪問控制檔案):
vi
$home/svn/project1/conf/svnserve.conf
vi$home/svn/project2/conf/svnserve.conf
修改內容如下:
預設#anon-access = read
去掉首字元#
,read
改為none
,表示不允許匿名訪問
預設#auth-access = write
去掉首字元#
預設# password-db = passwd
改為password-db = ../../passwd
,含義是指向$home/svn/passwd
;
預設# authz-db = authz
改為:authz-db = ../../authz
,含義是指向$home/svn/authz
修改後的檔案內容如下:
anon-access = none
auth-access =
write
password-db =
../../passwd
authz-db =
../../authz
(4)修改$home/svn/passwd
檔案內容:
[左為使用者名稱、右為密碼]
user1 = user1123
user2 = user2123
(5)修改$home/svn/authz
檔案內容:
[groups]
project1=user1
project2=user1,user2
%指定所有的版本庫預設唯讀,root可讀寫
[/]
* = r
root = rw
%user1可讀寫project1版本庫,@的含義可以用指標幫助理解
[project1:/]
@project1 = rw
%user1,user2可讀寫project2版本庫
[project2:/]
@project2 = rw
(6)啟動伺服器$home/svn
svnserve -d -r $home/svn % -d表示後台執行,-r表示伺服器的根目錄
即可啟動$home/svn/
中的所有專案版本庫project1,project2
(7)專案初始化
svn import
$home/yourfile file://$home/svn/project1
將會拷貝目錄yourfile到版本庫的project1下
svn list file://$home/svn/project1 %用來檢視版本庫中的檔案
(8)關閉svn
killall svnserver
注意:修改authz
和passwd
檔案後,需要關閉和重啟svn伺服器
(1)將檔案從版本庫取出到本地目錄
首先進入你想存放取出檔案的位置,然後
svn checkout svn: %接著輸入使用者名稱和密碼
這裡的數字代表本地電腦的ip,用ifconfig
命令查詢,ip後緊跟的是$home/svn
目錄以下的專案名(這是因為在啟動伺服器時已經將$home/svn
設為根目錄了)
svn checkout svn: -r 5 %取出指定版本的檔案
(2)往版本庫中新增新的檔案,更新版本庫
svn add ***.txt %此命令得在checkout命令執行的目錄中才能生效
svn commit ***.txt -m "add 123.txt" %""中填寫備註,只提交123.txt
svn commit -m "logmessage" %提交當前目錄下的所有檔案
(3)刪除檔案,更新版本庫
svn delete ***.txt
svn ci -m "delete testfile"
(4)更新本地工作副本
svn update -r 200 ***.txt %將本地的檔案***.txt還原到版本200
svn update %如果後面沒有目錄,預設將當前目錄以及子目錄下的所有檔案都更新到最新版本
(5)檢視檔案修改記錄,及其版本號的變化
svn log ***.txt
(6)檢視檔案詳細資訊(路徑、版本、時間、提交者等資訊)
svn info ***.txt
(7)比較版本間的差異
svn diff -r 2:102 ***.txt %對版本2和版本102比較差異
(8)版本庫下的檔案和目錄列表
svn list file://$home/svn/project1
(9)建立新目錄
svn mkdir mydirectory
svn commit -m "add mydirectory"
(9)移動檔案至其他目錄
mv 001.txt ../adirectory
svn add ../adirectory/001.txt
svn delete 001.txt
svn commit -m "move 001.txt to adirectory"
(1)必須以超級使用者的身份(su或sudo)開啟伺服器
(2)普通使用者身份可以提交新版本
Linux使用技巧總結(六)
ls xargs i sh name of file copied 注釋 i 代表將傳入xargs的資訊按行輸出到 注意 i和 n在一起時 n失效 為保留字串中最後乙個 前所有內容 cp v postprocessing patchexpression patchp rgh 0 wall compa...
Linux終端使用技巧 個人總結
最近參考王柏生老師的 深度探索linux作業系統 系統構建和原理解析 來構建乙個自己的linux系統當做練習,加深對linux作業系統整體的理解。在製作交叉編譯工具鏈的時候經常需要輸入很多引數配置用來生成makefile等檔案,然後進行編譯安裝步驟。重複輸入引數會很痛苦,所以總結下一些小技巧。終端的...
Mac OS使用技巧之八 Dock欄使用技巧
dock中間偏右側有一條淺淺的分割線。最右側是廢紙簍,裡面有檔案的時候會是滿的,沒有檔案就如上圖是空的。下面詳細說一下dock的使用技巧 一 新增或者刪除dock中的圖示 更換位置我就不講了,直接拖動就行。1 新增dock圖示並不複雜,一種方法是開啟finder中應用程式資料夾,將要新增的圖示拖入到...