萬盛學電腦網

您现在的位置: 萬盛學電腦網 >> 作業系統 >  >> Linux 教學

CentOS 安裝配置 Subversion (SVN) 版本控制:建立版本庫、權限控管、常用操作與編輯器設定

Subversion 集中式版控系統在 CentOS 上部署簡單。本文涵蓋 yum安裝、版本庫建立、svnserve 守護進程啟動、svnserve.conf/passwd/authz 三大配置檔詳解、服務重啟、檢出/提交/刪除/忽略目錄常用操作、SVN_EDITOR 環境變數設定。

1. 安裝

yum install subversion

2. 建立版本庫

mkdir -p /var/svn/repositories
cd /var/svn/repositories
svnadmin create rock-eng

3. 啟動 svnserve

svnserve -d -r /var/svn/repositories

4. 配置存取控制

/var/svn/repositories/rock-eng/conf/svnserve.conf

[general]
anon-access = none
auth-access = write
password-db = passwd
authz-db = authz
# realm = My First Repository

/var/svn/repositories/rock-eng/conf/passwd

[users]
rockeng = 123456

/var/svn/repositories/rock-eng/conf/authz

[groups]
# devs = user1,user2

[/]
rockeng = rw
# * =  # 拒絕匿名

5. 重啟服務

killall svnserve
svnserve -d -r /var/svn/repositories

6. 客戶端常用操作

# 檢出
svn co svn://127.0.0.1/rock-eng

# 新增檔案/目錄
svn add 

# 提交變更
svn commit -m "log message"

# 刪除但保留本地副本
svn delete --keep-local 

# 忽略目錄(如 data/, attachment/)
svn propedit svn:ignore .
# 編輯器輸入目錄名,每行一個
svn commit

# 查看狀態
svn status

7. 解決「無法使用外部編輯器」錯誤

# 設定 SVN_EDITOR 為 vim
echo 'export SVN_EDITOR=vim' >> ~/.bash_profile
source ~/.bash_profile

生產環境建議

  • 使用 Apache + mod_dav_svn 提供 HTTP/HTTPS 存取,支援 LDAP/AD 整合。
  • 定期熱備份:svnadmin hotcopy。
  • 配置 pre-commit 鉤子強制日誌格式、程式碼檢查。
copyright © 萬盛學電腦網 all rights reserved