1. 程式人生 > 實用技巧 >SVN常用命令

SVN常用命令

檢視修改的檔案記錄

svn cat -- 顯示特定版本的某檔案內容。

svn list -- 顯示一個目錄或某一版本存在的檔案列表。

svn log -- 顯示svn 的版本log,含作者、日期、路徑等。

svn diff -- 顯示特定修改的行級詳細資訊。

list示例:

svn list http://svn.test.com/svn     #檢視目錄中的檔案。
svn list -v http://svn.test.com/svn  #檢視詳細的目錄的資訊(修訂人,版本號,檔案大小等)。
svn list [-v] #檢視當前當前工作拷貝的版本庫URL。

cat示例:

svn cat -r 4 test.c     #檢視版本4中的檔案test.c的內容,不進行比較。

diff示例:

svn diff               #什麼都不加,會堅持原生代碼和快取在本地.svn目錄下的資訊的不同;資訊太多,沒啥用處。
svn diff -r 3          #比較你的原生代碼和版本號為3的所有檔案的不同。
svn diff -r 3 text.c   #比較你的原生代碼和版本號為3的text.c檔案的不同。
svn diff -r 5:6        #比較版本5和版本6之間所有檔案的不同。
svn diff -r 5:6 text.c #比較版本5和版本6之間的text.c檔案的變化。
svn diff -c 6 test.c #比較版本5和版本6之間的text.c檔案的變化。

log示例:

svn log         #什麼都不加會顯示所有版本commit的日誌資訊:版本、作者、日期、comment。
svn log -r 4:20 #只看版本4到版本20的日誌資訊,順序顯示。
svn log -r 20:5 #顯示版本20到4之間的日誌資訊,逆序顯示。 svn log test.c #檢視檔案test.c的日誌修改資訊。
svnlog -r 8 -v #顯示版本8的詳細修改日誌,包括修改的所有檔案列表資訊。
svn log -r 8 -v -q #顯示版本8的詳細提交日誌,不包括comment。
svn log -v -r 88:866 #顯示從版本88到版本866之間,當前程式碼目錄下所有變更的詳細資訊 。 svn log -v dir #檢視目錄的日誌修改資訊,需要加v。
svnlog
http://foo.com/svn/trunk/code/
#顯示程式碼目錄的日誌資訊。

常用命令

svn add file|dir -- 新增檔案或整個目錄

svn checkout -- 獲取svn程式碼

svncommit -- 提交本地修改程式碼

svn status -- 檢視本地修改程式碼情況:修改的或本地獨有的檔案詳細資訊

svn merge -- 合併svn和原生代碼

svn revert -- 撤銷本地修改程式碼

svnresolve -- 合併衝突程式碼

svn help [command] -- 檢視svn幫助,或特定命令幫助

svn diff個性化定製

svn配置檔案:~/.subversion/config

修改~/.subversion/config,找到如下配置行:

# diff-cmd = diff_program (diff, gdiff, etc.)

將上面那個指令碼的路徑新增進去就行,修改為

diff-cmd = /usr/local/bin/diffwrap.sh  #絕對路徑

這樣svn diff命令就會預設使用vimdiff比較檔案。

diffwrap.sh檔案

#! /bin/bash

# for svn diff: 修改~/.subversion/config,找到如下配置行:
# diff-cmd = diff_program (diff, gdiff, etc.)
# diff-cmd = ~/bin/diffwrap.sh

# 引數大於5時,去掉前5個引數;引數小於5,失敗,什麼也不做
shift 5

# 使用vimdiff比較
vimdiff "$@"

參考文獻

使用vimdiff作為svn diff的檢視程式碼工具

http://www.cnblogs.com/xuxm2007/archive/2012/05/11/2496243.html

SVN常用命令:

http://blog.csdn.net/sunboy_2050/article/details/6187464

https://www.cnblogs.com/zhenjing/archive/2012/12/22/svn_usage.html