一個很簡單的需求,我想在add一個文件時忽略里面某種格式的文件,怎么弄?
選中文件夾,然后tortoiseSvn->setting->
global ignore pattern:是客戶端屬性,一旦在這里設置,這台機子所有的svn版本庫都會忽略這些文件。
我增加了畫紅線的部分:
*.o *.lo *.la *.al .libs *.so *.so.[0-9]* *.a *.pyc *.pyo __pycache__ *.rej *~ #*# .#* .*.swp .DS_Store [Tt]humbs.db
*.tlog *.obj *.pch *.tlh *.tli *.pdb *.lastbuildstate *.Build.CppClean.log *.ipch
設置完后,再次點擊add,顯示要add的文件列表,發現我們設置的后綴都過濾掉了。
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了。
svn之svn:ignore命令行設置 http://www.cnblogs.com/ayanmw/archive/2012/03/16/2399976.html
svn propset <prop_name> <prop_value> <path> -- 設置屬性
svn propget <prop_name> <path> -- 得到屬性
svn propdel <prop_name> <path> -- 刪除屬性
svn propedit <prop_name> <path> -- 使用編輯器更改屬性
svn proplist -v <path> -- 打印文件或目錄的屬性信息
版本相關的更改加入參數 --revprop -r <version>
2.添加至忽略列表
在根目錄建立server.xml 和common目錄,此時有兩種忽略方式,
i.本地忽略方式,不體現到整個SVN項目團隊中.
使用SVN客戶端的全局忽略樣式 ,右鍵->設置->全局忽略樣式 ,此時該兩種文件仍然以問號文件的樣式顯示,但是在SVN提交時,這些文件會被忽略,不會體現在未控制版本的文件列表中.
ii.全局忽略方式,即服務端忽略方式,體現到整個SVN項目團隊中
右鍵->增加至忽略列表->server.xml(recursively),此種方式會與服務端同步,整個團隊的所有人將會同步此忽略,所有該兩種文件會以忽略圖標的樣式顯示.
若是在某些特定情況下被忽略的的文件或文件夾仍然需要提交,只需要將此文件像普通文件一樣add, commit即可.
svn global-ignores svn:ignore用法
vn:ignore、global-ignores區別:
1、svn:ignore:只對當前目錄有效;
global-ignores:是全局有效,就是所有目前都有效;
2、svn:ignore:必須每個工作目錄都要設置,個性化配置;
global-ignores:只需要配置一次,使用方便;
另一個忽略文件的方法是添加這些文件到globalignore list .他們最大的不同是全局忽略列表是一個客戶端特性。它會作用到所有的(all)subversion 項目。但只能在pc客戶端使用。