SVN的學習和使用(九)——SVN查看歷史信息

SVN 查看歷史信息


通過svn命令可以根據時間或修訂號去除過去的版本,或者某一版本所做的具體的修改。以下四個命令可以用來查看svn 的歷史:

  • svn log: 用來展示svn 的版本作者、日期、路徑等等。

  • svn diff: 用來顯示特定修改的行級詳細信息。

  • svn cat: 取得在特定版本的某文件顯示在當前屏幕。

  • svn list: 顯示一個目錄或某一版本存在的文件。


1、svn log

可以顯示所有的信息,如果只希望查看特定的某兩個版本之間的信息,可以使用:

root@test:~/svn/test1/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.
------------------------------------------------------------------------

如果只想查看某一個文件的版本修改信息,可以使用 svn log 文件路徑。

root@test:~/svn/test1# 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 lineAdd 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@test:~/svn/test1/trunk# svn log -l 5 -v ------------------------------------------------------------------------
r6 | user02 | 2016-11-07 02:01:26 +0800 (Mon, 07 Nov 2016) | 1 lineChanged paths:
   M /trunk/HelloWorld.html

change HelloWorld.html first.
------------------------------------------------------------------------
r5 | user01 | 2016-11-07 01:50:03 +0800 (Mon, 07 Nov 2016) | 1 lineChanged paths:
   M /trunk/HelloWorld.html
   ------------------------------------------------------------------------
   r4 | user01 | 2016-11-07 01:45:43 +0800 (Mon, 07 Nov 2016) | 1 lineChanged paths:
   M /trunk/HelloWorld.htmlAdd function to accept input and to display array contents
   ------------------------------------------------------------------------
   r3 | user01 | 2016-11-07 01:42:35 +0800 (Mon, 07 Nov 2016) | 1 lineChanged 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 lineChanged paths:
   A /trunk/helloworld.html

first file
------------------------------------------------------------------------

2、svn diff

用來檢查歷史修改的詳情。

  • 檢查本地修改

  • 比較工作拷貝與版本庫

  • 比較版本庫與版本庫

(1)、如果用 svn diff,不帶任何參數,它將會比較你的工作文件與緩存在 .svn 的"原始"拷貝。

root@test:~/svn/test1/trunk# svn diffIndex: 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)、比較工作拷貝和版本庫

比較你的工作拷貝和版本庫中版本號爲 3 的文件 rule.txt。

svn diff -r 3 rule.txt

(3)、比較版本庫與版本庫

通過 -r(revision) 傳遞兩個通過冒號分開的版本號,這兩個版本會進行比較。

比較 svn 工作版本中版本號2和3的這個文件的變化。

svn diff -r 2:3 rule.txt

3、svn cat

如果只是希望檢查一個過去版本,不希望查看他們的區別,可使用svn cat

svn cat -r 版本號 rule.txt

這個命令會顯示在該版本號下的該文件內容


4、svn list

svn list 可以在不下載文件到本地目錄的情況下來察看目錄中的文件:

$ svn list  
README
branches/
clients/
tags/


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章