svn ignore 的用法(忽略文件及目錄)
若想創建了一個文件夾,並且把它加入版本控制,但忽略文件夾中的所有文件的內容:
$ svn mkdir spool
$ svn propset svn:ignore '*' spool
$ svn ci -m 'Adding "spool" and ignoring its contents.'
若想創建一個文件夾,但不加入版本控制,即忽略這個文件夾:
$ mkdir spool
$ svn propset svn:ignore 'spool' .
$ svn ci -m 'Ignoring a directory called "spool".'
若已經創建了文件夾,並加入了版本控制,現在想忽略這個文件夾,但要保持文件夾的內容:
$ 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官方文檔和一些網上搜索的資料,有時候真的不如親自試驗的好。
svn propedit svn:ignore 目錄名稱。
注意,在使用這個SVN的屬性編輯前,你得確保后面的“目錄名稱”是SVN版本控制的目錄。
如果要忽略此目錄下的文件,可以如下操作。
比如,想忽略/product目錄下的test.php文件。前提是/product目錄必須在svn版本控制下,而test.php文件不在svn版本控制。
svn st先看一下狀態,會顯示如下:
? /product/test.php
我們需要將test.php文件加入忽略列表。
此時先設置SVN默認的編輯器
export SVN_EDITOR=vim
然后,使用svn propedit svn:ignore ,用法如下
svn propedit svn:ignore /product
此時會出現一個VIM的編輯窗口,表示需要將某個文件加入到忽略列表里
我們在編輯窗口中,寫入
test.php
然后保存,並退出VIM編輯器。
這時候會有一個提示:屬性 “svn:ignore” 於 “product” 被設為新值。
表示文件test.php的svn:ignore屬性設置成功。
然后使用svn st查看,會顯示:
M product
我們需要提交,然后這個svn:ignore屬性才會起作用
svn ci -m '忽略test.php文件'
這時候,無論你如何修改test.php文件,再使用svn st時,也不會出現修改提示符合M了。