查看修改的文件記錄
svn cat -- 顯示特定版本的某文件內(nèi)容。
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]? ? ? ? ? ? ? ? ? ? ? ? #查看當(dāng)前當(dāng)前工作拷貝的版本庫URL。
cat示例:
svn cat -r 4 test.c? ? #查看版本4中的文件test.c的內(nèi)容,不進行比較。
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文件的變化。
svn log? ? ? ? #什么都不加會顯示所有版本commit的日志信息:版本、作者、日期、comment。svn log -r 4:20 #只看版本4到版本20的日志信息,順序顯示。
svn log -r 20:5 #顯示版本20到4之間的日志信息,逆序顯示。svn log test.c? #查看文件test.c的日志修改信息。
svn?log -r 8 -v #顯示版本8的詳細修改日志,包括修改的所有文件列表信息。
svn log -r 8 -v -q? #顯示版本8的詳細提交日志,不包括comment。
svn log -v -r 88:866 #顯示從版本88到版本866之間,當(dāng)前代碼目錄下所有變更的詳細信息 。svn log -v dir? #查看目錄的日志修改信息,需要加v。
svn add file|dir -- 添加文件或整個目錄
svn checkout -- 獲取svn代碼
svn?commit ?-- 提交本地修改代碼
svn status ? ?-- 查看本地修改代碼情況:修改的或本地獨有的文件詳細信息
svn merge ? -- 合并svn和本地代碼
svn revert ? -- 撤銷本地修改代碼
svn?resolve -- 合并沖突代碼
svn help [command] -- 查看svn幫助,或特定命令幫助
svn ignore 的用法(忽略文件及目錄)
若想創(chuàng)建了一個文件夾,并且把它加入版本控制,但忽略文件夾中的所有文件的內(nèi)容:
$ svn mkdir spool
$ svn propset svn:ignore '*' spool
$ svn ci -m 'Adding "spool" and ignoring its contents.'
若想創(chuàng)建一個文件夾,但不加入版本控制,即忽略這個文件夾:
$ mkdir spool
$ svn propset svn:ignore 'spool' .
$ svn ci -m 'Ignoring a directory called "spool".'
若已經(jīng)創(chuàng)建了文件夾,并加入了版本控制,現(xiàn)在想忽略這個文件夾,但要保持文件夾的內(nèi)容:
$ svn export spool spool-tmp
$ svn rm spool
$ svn ci -m 'Removing inadvertently added directory "spool".'
$ mv spool-tmp spool
$ svn propset svn:ignore 'spool' .
$ svn ci -m 'Ignoring a directory called "spool".'
如果想在SVN提交時,忽略某個文件,也就是某個文件不提交,可以使用
svn propedit svn:ignore命令。
下面詳細介紹一下使用步驟。
單純的看svn官方文檔和一些網(wǎng)上搜索的資料,有時候真的不如親自試驗的好。
svn propedit svn:ignore 目錄名稱。
注意,在使用這個SVN的屬性編輯前,你得確保后面的“目錄名稱”是SVN版本控制的目錄。
如果要忽略此目錄下的文件,可以如下操作。
比如,想忽略/product目錄下的test.PHP文件。前提是/product目錄必須在svn版本控制下,而test.php文件不在svn版本控制。
svn st先看一下狀態(tài),會顯示如下:
????? /product/test.php
我們需要將test.php文件加入忽略列表。
此時先設(shè)置SVN默認的編輯器
export?SVN_EDITOR=vim
然后,使用svn propedit svn:ignore ,用法如下
svn propedit svn:ignore /product
此時會出現(xiàn)一個VIM的編輯窗口,表示需要將某個文件加入到忽略列表里
我們在編輯窗口中,寫入
test.php
然后保存,并退出VIM編輯器。
這時候會有一個提示:屬性 “svn:ignore” 于 “product” 被設(shè)為新值。
表示文件test.php的svn:ignore屬性設(shè)置成功。
然后使用svn st查看,會顯示:
M??????? product
我們需要提交,然后這個svn:ignore屬性才會起作用
svn ci -m '忽略test.php文件'
這時候,無論你如何修改test.php文件,再使用svn st時,也不會出現(xiàn)修改提示符合M了。