SVN 教程
通過svn命令可以根據(jù)時(shí)間或修訂號(hào)去除過去的版本,或者某一版本所做的具體的修改。以下四個(gè)命令可以用來查看svn 的歷史:
svn log: 用來展示svn 的版本作者、日期、路徑等等。
svn diff: 用來顯示特定修改的行級(jí)詳細(xì)信息。
svn cat: 取得在特定版本的某文件顯示在當(dāng)前屏幕。
svn list: 顯示一個(gè)目錄或某一版本存在的文件。
可以顯示所有的信息,如果只希望查看特定的某兩個(gè)版本之間的信息,可以使用:
root@json:~/svn/json01/trunk# svn log -r 6:8 ------------------------------------------------------------------------ r6 | user02 | 2016-11-07 02:01:26 +0800 (Mon, 07 Nov 2016) | 1 line change HelloWorld.html first. ------------------------------------------------------------------------ r7 | user01 | 2016-11-07 02:23:26 +0800 (Mon, 07 Nov 2016) | 1 line change HelloWorld.html second ------------------------------------------------------------------------ r8 | user01 | 2016-11-07 02:53:13 +0800 (Mon, 07 Nov 2016) | 1 line SVN readme. ------------------------------------------------------------------------
如果只想查看某一個(gè)文件的版本修改信息,可以使用 svn log 文件路徑。
root@json:~/svn/json01# svn log trunk/HelloWorld.html ------------------------------------------------------------------------ r7 | user01 | 2016-11-07 02:23:26 +0800 (Mon, 07 Nov 2016) | 1 line change HelloWorld.html second ------------------------------------------------------------------------ r6 | user02 | 2016-11-07 02:01:26 +0800 (Mon, 07 Nov 2016) | 1 line change HelloWorld.html first. ------------------------------------------------------------------------ r5 | user01 | 2016-11-07 01:50:03 +0800 (Mon, 07 Nov 2016) | 1 line ------------------------------------------------------------------------ r4 | user01 | 2016-11-07 01:45:43 +0800 (Mon, 07 Nov 2016) | 1 line Add function to accept input and to display array contents ------------------------------------------------------------------------ r3 | user01 | 2016-11-07 01:42:35 +0800 (Mon, 07 Nov 2016) | 1 line ------------------------------------------------------------------------ r2 | user01 | 2016-08-23 17:29:02 +0800 (Tue, 23 Aug 2016) | 1 line first file ------------------------------------------------------------------------
如果希望得到目錄的信息要加 -v。
如果希望顯示限定N條記錄的目錄信息,使用 svn log -l N -v。
root@json:~/svn/json01/trunk# svn log -l 5 -v ------------------------------------------------------------------------ r6 | user02 | 2016-11-07 02:01:26 +0800 (Mon, 07 Nov 2016) | 1 line Changed paths: M /trunk/HelloWorld.html change HelloWorld.html first. ------------------------------------------------------------------------ r5 | user01 | 2016-11-07 01:50:03 +0800 (Mon, 07 Nov 2016) | 1 line Changed paths: M /trunk/HelloWorld.html ------------------------------------------------------------------------ r4 | user01 | 2016-11-07 01:45:43 +0800 (Mon, 07 Nov 2016) | 1 line Changed paths: M /trunk/HelloWorld.html Add function to accept input and to display array contents ------------------------------------------------------------------------ r3 | user01 | 2016-11-07 01:42:35 +0800 (Mon, 07 Nov 2016) | 1 line Changed paths: A /trunk/HelloWorld.html (from /trunk/helloworld.html:2) D /trunk/helloworld.html ------------------------------------------------------------------------ r2 | user01 | 2016-08-23 17:29:02 +0800 (Tue, 23 Aug 2016) | 1 line Changed paths: A /trunk/helloworld.html first file ------------------------------------------------------------------------
用來檢查歷史修改的詳情。
(1)、如果用 svn diff,不帶任何參數(shù),它將會(huì)比較你的工作文件與緩存在 .svn 的"原始"拷貝。
root@json:~/svn/json01/trunk# svn diff Index: rules.txt =================================================================== --- rules.txt (revision 3) +++ rules.txt (working copy) @@ -1,4 +1,5 @@ Be kind to others Freedom = Responsibility Everything in moderation -Chew with your mouth open
(2)、比較工作拷貝和版本庫
比較你的工作拷貝和版本庫中版本號(hào)為 3 的文件 rule.txt。
svn diff -r 3 rule.txt
(3)、比較版本庫與版本庫
通過 -r(revision) 傳遞兩個(gè)通過冒號(hào)分開的版本號(hào),這兩個(gè)版本會(huì)進(jìn)行比較。
比較 svn 工作版本中版本號(hào)2和3的這個(gè)文件的變化。
svn diff -r 2:3 rule.txt
如果只是希望檢查一個(gè)過去版本,不希望查看他們的區(qū)別,可使用svn cat
svn cat -r 版本號(hào) rule.txt
這個(gè)命令會(huì)顯示在該版本號(hào)下的該文件內(nèi)容
svn list 可以在不下載文件到本地目錄的情況下來察看目錄中的文件:
$ svn list http://192.168.0.1/json01 README branches/ clients/ tags/