Linux命令行下svn ignore忽略文件或文件夾用法


一、忽略單個目錄

1、忽略文件夾

假如目錄oa.youxi.com是從svn checkout出來的,在服務器本地目錄添加了material,但是不希望把material加入版本控制,因此我們需要忽略掉這個目錄
首先使用svn status命令查看當前狀態
[root@localhost oa.youxi.com]# svn status
? htdocs/admin/adv/material

添加需要忽略的目錄,貌似必須得進入該目錄之下
[root@localhost oa.youxi.com]# cd htdocs/admin/adv/
[root@localhost adv]# svn propset svn:ignore 'material' ./
property 'svn:ignore' set on '.'

[root@localhost adv]# svn ci -m 'ignore a directory called "material".'
Sending adv
Committed revision 2.

再次查看狀態
[root@localhost adv]# svn status
[root@localhost adv]#

此后無論material目錄如何修改,都不會提交到倉庫去

2、提交文件夾,忽略文件夾內內容

[root@localhost adv]# svn propset svn:ignore '*' material
[root@localhost adv]# svn ci -m 'adding "material" and ignore its contents.'

3、若已經創建了文件夾,並加入了版本控制,現在想忽略這個文件夾,但要保持文件夾的內容:

[root@localhost adv]# svn export material material-tmp
[root@localhost adv]# svn rm material
[root@localhost adv]# svn ci -m 'Removing inadvertently added directory "material".'
[root@localhost adv]# mv material-tmp material
[root@localhost adv]# svn propset svn:ignore 'material' ./
[root@localhost adv]# svn ci -m 'Ignoring a directory called "material".'

對於沒有加入版本控制的,可以直接設定成ignore,但不能對加入版本控制的文件和目錄這么做。解決辦法是,先刪除再ignore, 上面的命令其實也是這個方式,只不過有導出再mv的過程。

 

二、忽略多個目錄

如果有多個目錄需要刪除,逐個目錄按照上面步驟操作,那么操作完成后,前面操作的目錄執行svn st又會顯示成 ? 狀態,而最后執行的那個目錄才不會顯示出來,所以說這樣前面的目錄都白弄了
如果有多個目錄需要同時忽略,需要這樣弄

[root@localhost adv]# svn st
? ad
? material
? logs
? images
[root@localhost adv]# svn delete url -m="delete ad"    #刪除版本庫相應目錄
[root@localhost adv]# mv ad material logs images /tmp   #先備份
[root@localhost adv]# svn propset svn:ignore ".svnignore
> ad
> material
> logs
> images
> " ./
property 'svn:ignore' set on '.'
[root@localhost adv]# svn propget svn:ignore .
.svnignore
ad
material
images
logs

[root@localhost adv]# svn ci -m "ignore some directory"
Sending adv

Committed revision 6.
[root@localhost adv]# svn st
[root@localhost adv]#mv /tmp/{ad,images,logs,material} ./  #恢復備份

到這里就大功告成了,無論怎么修改上面的幾個目錄里面文件svn st都不會列出來,無論怎么svn up當前目錄,上面幾個目錄都不會受到影響。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM