centos中使用svn整理
- 1. 安裝 SVN 客戶端
- 2. 常見 SVN 用法及示例
- 2.1 創建 SVN 倉庫
- 2.2 檢出(Checkout)項目
- 2.3 添加文件到版本控制
- 2.4 提交(Commit)更改
- 2.5 更新(Update)本地工作副本
- 2.6 查看文件狀態
- 2.7 查看文件差異
- 2.8 撤銷本地更改
- 2.9 刪除文件
- 2.10 查看提交日志
- 2.11 恢復(Revert)到指定版本
- 3. 配置 SVN 服務器(可選)
- 3.1 安裝 SVN 服務器
- 3.2 配置 Apache 以支持 SVN
- 3.3 創建用戶和權限文件
- 3.4 重啟 Apache 服務
1. 安裝 SVN 客戶端
在 CentOS 上可以使用 yum 包管理器來安裝 SVN 客戶端:
sudo yum install subversion
安裝完成后,可使用以下命令驗證安裝是否成功:
svn --version
2. 常見 SVN 用法及示例
2.1 創建 SVN 倉庫
若需要創建一個本地的 SVN 倉庫,可以使用以下命令:
sudo mkdir /data/svnrepo # 創建倉庫目錄
sudo svnadmin create /data/svnrepo # 創建 SVN 倉庫
2.2 檢出(Checkout)項目
從 SVN 倉庫中檢出項目到本地工作目錄:
svn checkout svn://localhost/svnrepo /path/to/local/directory
# 示例
svn checkout svn://localhost/svnrepo ~/myproject
上述命令會將 svn://localhost/svnrepo 倉庫中的內容檢出到 ~/myproject 目錄
2.3 添加文件到版本控制
在本地工作目錄中添加新文件或文件夾到 SVN 版本控制:
cd ~/myproject
touch newfile.txt
svn add newfile.txt
如果要添加整個目錄及其子目錄下的所有文件,可以使用遞歸添加:
svn add . --force
2.4 提交(Commit)更改
將本地的更改提交到 SVN 倉庫:
svn commit -m "添加新文件 newfile.txt"
-m 參數用于添加提交說明,描述本次提交所做的更改
2.5 更新(Update)本地工作副本
從 SVN 倉庫獲取最新的更改并更新本地工作副本:
svn up
如果只想更新特定的文件或目錄,可以指定路徑:
svn up path/to/file/or/directory
2.6 查看文件狀態
查看本地工作副本中文件的狀態,了解哪些文件被修改、添加、刪除等:
svn status
輸出結果中會顯示不同的狀態碼,常見的狀態碼及含義如下:
- A:表示文件或目錄已被添加到版本控制
- M:表示文件已被修改
- D:表示文件已被刪除
- ?:表示文件或目錄未被添加到版本控制
2.7 查看文件差異
查看本地文件與 SVN 倉庫中文件的差異:
svn diff
如果只想查看特定文件的差異,可以指定文件名:
svn diff newfile.txt
2.8 撤銷本地更改
如果想撤銷本地對某個文件的更改,使其恢復到最后一次更新或提交時的狀態:
svn revert newfile.txt
如果要撤銷整個目錄下的所有更改,可以使用遞歸撤銷:
svn revert . --recursive
2.9 刪除文件
從版本控制中刪除文件:
svn delete newfile.txt
svn commit -m "刪除文件 newfile.txt"
或者直接使用以下命令一步完成刪除和提交:
svn delete newfile.txt --force
svn commit -m "刪除文件 newfile.txt"
2.10 查看提交日志
查看 SVN 倉庫的提交歷史記錄:
svn log
可以使用 -l 參數指定顯示的日志數量:
svn log -l5 # 顯示最近 5 條提交日志
2.11 恢復(Revert)到指定版本
將本地工作副本恢復到指定的版本:
svn update -r 100 # 將工作副本恢復到版本號為 100 的狀態
-r 參數用于指定版本號
3. 配置 SVN 服務器(可選)
如果需要搭建一個 SVN 服務器,可以進行以下配置:
3.1 安裝 SVN 服務器
sudo yum install mod_dav_svn subversion
3.2 配置 Apache 以支持 SVN
編輯 /etc/httpd/conf.d/subversion.conf 文件,添加以下內容:
<Location /svn>DAV svnSVNParentPath /data/svnrepoAuthzSVNAccessFile /data/svnrepo/authzAuthType BasicAuthName "Subversion Repository"AuthUserFile /data/svnrepo/passwdRequire valid-user
</Location>
3.3 創建用戶和權限文件
sudo htpasswd -cm /data/svnrepo/passwd username # 創建用戶
sudo touch /data/svnrepo/authz # 創建權限文件
編輯 authz 文件來配置用戶和組的訪問權限:
[groups]
developers = user1, user2[/]
* = r
@developers = rw
3.4 重啟 Apache 服務
sudo systemctl restart httpd