- # checkout代碼
- svn co svn://svnbucket.com/xxx/xxx
- # 更新代碼
- svn up
- # 添加新文件到版本庫
- svn add filename
-
- # 添加當前目錄下所有php文件
- svn add *.php
-
- # 遞歸添加當前目錄下的所有新文件
- svn add . --no-ignore --force
- # 提交代碼
- svn commit -m "提交描述"
- # 查看指定文件的所有log
- svn log test.php
-
- # 查看指定版本號的log
- svn log -r 100
- # 撤銷本地文件的修改(還沒提交的)
- svn revert test.php
- svn revert -r 目錄名
-
- # 撤銷目錄下所有本地修改
- svn revert --recursive 目錄名
- # 查看當前工作區的所有改動
- svn diff
-
- # 查看當前工作區test.php文件與最新版本的差異
- svn diff test.php
-
- # 指定版本號比較差異
- svn diff -r 200:201 test.php
-
- # 查看當前工作區和版本301中bin目錄的差異
- svn diff -r 301 bin
- # 查看當前工作區的狀態
- svn status
- # 查看svn信息
- svn info
- # 查看文件列表,可以指定-r查看,查看指定版本號的文件列表
- svn ls
- svn ls -r 100
- # 顯示文件的每一行最後是誰修改的(出了BUG,經常用來查這段代碼是誰改的)
- svn blame filename.php
- # 查看指定版本的文件內容,不加版本號就是查看最新版本的
- svn cat test.py -r 2
- # 清理
- svn cleanup
- # 若想創建了一個文件夾,並且把它加入版本控制,但忽略文件夾中的所有文件的內容
- $ svn mkdir spool
- $ svn propset svn:ignore '*' spool
- $ svn ci -m 'Adding "spool" and ignoring its contents.'
- # 若想創建一個文件夾,但不加入版本控制,即忽略這個文件夾
- $ mkdir spool
- $ svn propset svn:ignore 'spool' .
- $ svn ci -m 'Ignoring a directory called "spool".'
- # 切換當前項目到指定分支。服務器上更新新版本我們經常就用這個命令來把當前代碼切換到新的分支
- svn switch svn://svnbucket.com/test/branches/online1.0
-
- # 重定向倉庫地址到新地址
- svn switch --relocate 原svn地址 新svn地址
- # 創建分支,從主幹創建一個分支保存到branches/online1.0
- svn cp -m "描述內容" http://svnbucket.com/repos/trunk http://svnbucket.com/repos/branches/online1.0
-
- # 合併主幹上的最新代碼到分支上
- cd branches/online1.0
- svn merge http://svnbucket.com/repos/trunk
-
- # 分支合併到主幹
- svn merge --reintegrate http://svnbucket.com/repos/branches/online1.0
-
- # 刪除分支
- svn rm http://svnbucket.com/repos/branches/online1.0
- # 查看SVN幫助
- svn help
-
- # 查看指定命令的幫助信息
- svn help commit
其他相關教程
SVN快速上手
SVN鉤子解放你的雙手
輕鬆解決SVN衝突
SVN 和 Git 的一些誤解和真相
Mac用戶SVN圖形界面推薦
Eclipse安裝SVN插件和檢出代碼