ICode9

精准搜索请尝试: 精确搜索
首页 > 系统相关> 文章详细

【转】Linux命令行下svn ignore忽略文件或文件夹用法

2021-11-12 09:04:53  阅读:241  来源: 互联网

标签:svn adv material ignore Linux root localhost


转自: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
> adget
> 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当前目录,上面几个目录都不会受到影响。

标签:svn,adv,material,ignore,Linux,root,localhost
来源: https://blog.csdn.net/sinolover/article/details/121280696

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有