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文件的變化。
查看修改的信息使用 log 指令,如下:
svn log; #什麼都不加會顯示所有版本commit的日誌信息;
svn log -r 4:5; #只看版本4和版本5的日誌信息;
svn log test.c; #查看文件test.c的日誌修改信息;
svn log -v dir; #查看目錄的日誌修改信息,需要加v;
查看某個版本的某個文件內容,使用cat指令,如下:
svn cat -r 4 test.c; #查看版本4中的文件test.c的內容,不進行比較;
不用下載到本地查看文件的各種信息,使用 list 指令,如下:
svn list http://svn.test.com/svn #查看目錄中的文件;
svn list -v http://svn.test.com/svn #查看詳細的目錄的信息(修訂人,版本號,文件大小等);
生成diff文件:
svn diff > xxx.diff
生成 patch:
同事 A 運行如下命令生成 patch:
svn diff > aaa.patch
應用 patch:
同事 B 運行如下命令應用 patch:
patch –p0 < ../aaa.patch
刪除該 patch :
patch –p0 -R < ../aaa.patch
svn 回滾
svn merge -r 25:23 file_name
查看特定commit的下的特定文件的內容
svn cat -r 100 test.c
當前的用戶在SVN客戶端當前路徑切換到當初更新SVN的位置上
svn switch --relocate (Old Repository Root) (New Repository Root)
#更換相對路徑
svn switch ^\New path
svn : xxx is already under version control,
說明這個目錄下已經有 .svn
文件夾了。 如果是從之前的項目拷貝過來的話,是不是應該刪掉了 ?