**
基本操作
**
檢出(Checkout)
把服務器端版本庫內容完整下載到本地。
在整個開發過程中只做一次。
更新(Update)
把服務器端相對於本地的新的修改下載到本地。
提交(Commit)
把本地修改上傳到服務器。
**
基本指令操作
**
status svnserve 檢查svn的狀態
(1)查看/etc/sysconfig/svnserve 裏的options選項的地址
(2)mkdir -p (1)中的地址
(3)在(2)文件夾中創建具體項目目錄pro_erp pro_oa pro_pdm
(4) 在pro_oa中 svnadmin create /var/svn/pro_oa 創建SVN版本庫
conf 版本庫的配置文件
db 數據庫目錄
hooks 鉤子程序
(5)啓動SVN服務
systemctl start svnserve.service
systemctl enable svnserve.service
開啓匿名訪問
配置文件
版本庫根目錄/conf/svnserve.conf
配置項
anon-access = write
爲了更好地使用SVN 我們還需要關閉selinux
配置文件
/etc/sysconfig/selinux
修改
SELINUX=disabled
重啓
reboot
檢出:
svn checkout svn://服務器ip/pro_oa ./
在指定目錄下創建.svn目錄 提交更新等操作都需要在工作副本目錄下執行
保存本地目錄和文件狀態信息,用來和SVN服務器進行交互
添加:svn add
提交:svn commit -m "xxx" 文件名
還需要有相應的權限 例如匿名訪問
查看服務器端文件內容
svn list svn://服務器端ip/pro_oa
更新操作
svn update 文件名 將服務器端所產生的修改下載下來
**
衝突
**
首先過時的文件就是不能提交的 需要先更新
但是如果更新的字段是你正在寫入的 就會產生衝突:
產生三個文件:
xxx.mine文件:發生衝突時本地文件內容
xxx.r[小版本號]文件:發生衝突前文件內容
xxx.r[大版本號]文件:發生衝突時服務器端文件內容
**
SVN的權限管理
**
首先需要知道三個配置文件:
(1)版本庫配置文件目錄: /var/svn/repository/pro_oa/conf/svnserve.conf文件
anon-access = write 匿名訪問
auth-access = write 授權訪問
password-db = passwd 指定設置用戶名密碼的配置文件
authz-db = authz 分配權限的配置文件
(2)password文件
配置 名字 = 密碼
(3)authz文件
[groups]
配置 用戶組 = 用戶,用戶
[/]
進行權限配置
@組名 = 權限值
用戶名 = 權限值
* = 表示除了授權的之外都沒有任何權限
**
查看歷史記錄
**
eclipse中會出現條目不可用的問題: 到svnserve.conf文件中把anon-access註釋打開設置爲none
**
配置eclipse全局忽略文件
**
~\AppData\Roaming\Subversion\config
修改
global-ignores = *.o *.lo *.la *.al .libs *.so *.so.[0-9]* *.a *.pyc *.pyo __pycache__ *.rej *~ #*# .#* .*.swp .DS_Store .settings */.settings/* .classpath .project target */target/*
如果你用的是TortoiseSVN則 需要把target目錄加入。