SVN命令参考:   https://www.cnblogs.com/wlsxmhz/p/5775393.html

我们需要明白命令行设置忽略文件和文件夹是通过设置svn:ignore属性设置的,propset(ps,pset)用于设置属性的值,propget(pg,pget)用于获取属性的值。用法如下:

svn pg svn:ignore   #获取属性值

svn ps svn:ignore 'value' path  #设置属性值

一、忽略单个目录

1.我们创建一个文件夹并且忽略该文件夹;

Administrator@MicroWin10- MINGW64 ~/Desktop/ww/danger/myProject
$ mkdir test1          #创见目录 Administrator@MicroWin10- MINGW64 ~/Desktop/ww/danger/myProject
$ svn status      #查看状态
M .
? test1 Administrator@MicroWin10- MINGW64 ~/Desktop/ww/danger/myProject
$ svn propset svn:ignore 'test1' ./      忽略该文件夹
property 'svn:ignore' set on '.' Administrator@MicroWin10- MINGW64 ~/Desktop/ww/danger/myProject
$ svn status
M .

测试

Administrator@MicroWin10- MINGW64 ~/Desktop/ww/danger/myProject
$ cd test1/  #进入被忽略的文件夹 Administrator@MicroWin10- MINGW64 ~/Desktop/ww/danger/myProject/test1
$ echo xx >> xx.txt  #创建一个文件 Administrator@MicroWin10- MINGW64 ~/Desktop/ww/danger/myProject/test1
$ cat xx.txt
xx Administrator@MicroWin10- MINGW64 ~/Desktop/ww/danger/myProject
$ svn status    #查看状态
M .

此后无论如何修改都不会管理test1文件夹,如果我们想加到索引里面,可以设置svn:ignore属性

Administrator@MicroWin10- MINGW64 ~/Desktop/ww/danger/myProject
$ svn propget svn:ignore    #获取属性的值
test1 Administrator@MicroWin10- MINGW64 ~/Desktop/ww/danger/myProject
$ svn ps svn:ignore '' ./        #清空svn:ignore的值
property 'svn:ignore' set on '.'     Administrator@MicroWin10- MINGW64 ~/Desktop/ww/danger/myProject
$ svn status  
M .
? test1

2.有时候我们可能想提交文件夹  忽略文件夹内容(前提是文件夹未在版本控制内)

 svn propset svn:ignore '*' test
svn ci -m 'adding "test1" and ignore its contents.'

3、若已经创建了文件夹,并加入了版本控制,现在想忽略这个文件夹,但要保持文件夹的内容:

Administrator@MicroWin10- MINGW64 ~/Desktop/ww/danger/myProject
$ svn export test1/ ./test1-tmp      #导出一个不受版本控制的目录
Export complete. Administrator@MicroWin10- MINGW64 ~/Desktop/ww/danger/myProject
$ ls
test.txt test1/ test1-tmp/ test2/ Administrator@MicroWin10- MINGW64 ~/Desktop/ww/danger/myProject
$ svn rm test1      #删除目录
D test1 Administrator@MicroWin10- MINGW64 ~/Desktop/ww/danger/myProject
$ svn ci -m 'delete test1'    #提交
Administrator@MicroWin10- MINGW64 ~/Desktop/ww/danger/myProject
$ svn status
? test1-tmp Administrator@MicroWin10- MINGW64 ~/Desktop/ww/danger/myProject
$ mv ./test1-tmp/ ./test1    #重名名文件 Administrator@MicroWin10- MINGW64 ~/Desktop/ww/danger/myProject
$ ls
test.txt test1/ test2/ Administrator@MicroWin10- MINGW64 ~/Desktop/ww/danger/myProject
$ svn ps svn:ignore 'test1' ./  #将新文件忽略掉
property 'svn:ignore' set on '.' Administrator@MicroWin10- MINGW64 ~/Desktop/ww/danger/myProject
$ svn status

对于没有加入版本控制的,可以直接设定成ignore,但不能对加入版本控制的文件和目录这么做。解决办法是,先删除再ignore, 上面的命令其实也是这个方式,只不过有导出再mv的过程。

二、忽略多个目录

如果有多个目录需要删除,逐个目录按照上面步骤操作,那么操作完成后,前面操作的目录执行svn st又会显示成 ? 状态,而最后执行的那个目录才不会显示出来,所以说这样前面的目录都白弄了
如果有多个目录需要同时忽略,需要这样弄

比如说我们加了几个目录:

Administrator@MicroWin10- MINGW64 ~/Desktop/ww/danger/myProject
$ svn st
M .
? d1
? d2
? d3
? d4
? test1

方法一:给属性设置多个值

现在我们忽略掉上面的d1,d2,d3文件

Administrator@MicroWin10- MINGW64 ~/Desktop/ww/danger/myProject
$ svn ps svn:ignore "      #设置
> d1
> d2
> d3
> " .
property 'svn:ignore' set on '.' Administrator@MicroWin10- MINGW64 ~/Desktop/ww/danger/myProject
$ svn st
M .
? d4
? test1 Administrator@MicroWin10- MINGW64 ~/Desktop/ww/danger/myProject
$ svn pg svn:ignore d1
d2
d3

注意:写值的时候不要一下将两个引号写完,否则回车会直接执行命令。

  svn:ignore的值每行一个

 

方法二:通配符

属性值也可以使用通配符,但是通配符不可以加在末尾,只能加在前面,如下用通配符过滤掉d2目录:

Administrator@MicroWin10- MINGW64 ~/Desktop/ww/danger/myProject
$ svn ps svn:ignore 'd*' .        #通配符加在末尾会报错
'd2' is not under version control
svn: E155010: The node 'C:\Users\Administrator\Desktop\ww\danger\myProject\d2' was not found. Administrator@MicroWin10- MINGW64 ~/Desktop/ww/danger/myProject
$ svn ps svn:ignore '*2' .        #通配符加在前面不会报错
property 'svn:ignore' set on 'test2'
property 'svn:ignore' set on '.' Administrator@MicroWin10- MINGW64 ~/Desktop/ww/danger/myProject
$ svn st
M .
? d1
? d3
? d4
? test1
M test2 Administrator@MicroWin10- MINGW64 ~/Desktop/ww/danger/myProject
$ svn pg svn:ignore
d2

【SVN】命令行忽略不必要的文件和文件夹的更多相关文章

  1. 转自: linux svn命令行无法拉取中文名称的文件

    转自: https://blog.csdn.net/shaohui/article/details/3996274#commentBox svn: Can't convert string from  ...

  2. 转:svn命令行操作

    原文:http://zhumeng8337797.blog.163.com/blog/static/10076891420115218821912/SVN命令行 -- ::| 分类: CVS |字号 ...

  3. Linux环境SVN命令行使用经验总结(转)

    在windows机器上开发得差不多了之后,打包传送到开发机编译,在开发机上解决编译错误. [缺点] 浪费时间在打包解包,机器间传输代码. 在windows机器上开发之后,check in代码进分支,在 ...

  4. svn命令行批量删除和批量添加

    svn命令行批量删除和批量添加 如果使用svn的命令行,例如在linux下的终端中使用,svn的添加命令是svn add,删除命令是svn del,但是缺乏批量的操作,如果我在资源管理器中,手动添加了 ...

  5. Mac SVN 命令行

    Mac自带了SVN命令行,如我的升级到10.10(OSX yosemite)后命令行版本为1.7.10 以下是一些常用命令 1.将文件checkout到本地目录 svn checkout path(p ...

  6. svn命令行修改已提交的版本备注

    svn命令行修改已提交的版本备注 参考文章: stackoverflow.com/questions/304383/how-do-i-edit-a-log-message-that-i-already ...

  7. [MAC] Mac下的SVN命令行

    转载自: http://www.cnblogs.com/snandy/p/4072857.html Mac自带了SVN命令行,如我的升级到10.10(OSX yosemite)后命令行版本为1.7.1 ...

  8. Windows下SVN命令行工具使用详解

    根据我的记忆,似乎Windows 7下自自带一个svn命令行工具.如果你的机器没有,不必担心.你可以从http://subversion.tigris.org获 取subversion for win ...

  9. SVN命令行笔记

    SVN命令行笔记 近期玩了一下命令行,记录如下. svn info <path> #查看文件,路径信息 svn log <path> #查看文件,路径历史记录 svn st(s ...

  10. pycharm不支持svn,是需要svn命令行工具没有安装(for windows)

    1. 安装svn命令行工具 Subversion for Windows下载https://sourceforge.net/projects/win32svn/?source=typ_redirect ...

随机推荐

  1. Linux内核分析作业二

    贾瑗 + 原创作品转载请注明出处 + <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000  一.操作系统是如 ...

  2. Linux内核第一节

    存储程序计算机工作模型 存储程序计算机——冯诺依曼体系结构 IP:寄存器,总是指向内存的代码段.IP(16位) 32位(EIP) 64位(RIP). 内存:保存数据和指令. CPU:CPU从IP指向的 ...

  3. git学习心得(1)

    这次是第一次用git这个平台,还非常不熟练,尤其是在上传代码的步骤上,有好几次都出了问题,多次询问了同学才将代码上传到平台上,git是一个分布式版本控制系统,相对于集中式的来说具有很多优点,但是中文资 ...

  4. 剑指offer:二叉搜索树的后续遍历序列

    题目描述: 输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果.如果是则输出Yes,否则输出No.假设输入的数组的任意两个数字都互不相同. 解题思路: 根据二叉搜索的性质,后序遍历是先搜索 ...

  5. 作业六:小学生四则运算之NABCD模型与产品Backlog。

    NABCD模型与产品Backlog NABCD模型 ) N (Need 需求) 方便了老师和学生,使他们可以想要的时候随时可以得到,省时省力,快速出题,马上得到答案. ) A (Approach 做法 ...

  6. 微信小程序动画技巧

    用微信小程序自带的wx.createAnimation api可创建动画,该动画效果相比css写的动画更流畅. 栗子与用法,见官网:https://mp.weixin.qq.com/debug/wxa ...

  7. 第十一周PSP&进度条

    PSP 一.表格: D日期     C类型 C内容 S开始时间 E结束时间 I时间间隔 T净时间(mins) 预计花费时间(mins) 11月24号 站立会议 分配任务&设计final方案 1 ...

  8. 11th 本周工作量及进度统计

    本周PSP: C(类别) C(内容) S(开始时间) ST(结束时间) I(中断时间) T(实际时间) 文档 11月30日 回顾5个问题 13:00 13:50 2 48 11月30日 如果重新来过 ...

  9. PAT 甲级 1106 Lowest Price in Supply Chain

    https://pintia.cn/problem-sets/994805342720868352/problems/994805362341822464 A supply chain is a ne ...

  10. Hibernate性能优化之EHCache缓存

    像Hibernate这种ORM框架,相较于JDBC操作,需要有更复杂的机制来实现映射.对象状态管理等,因此在性能和效率上有一定的损耗. 在保证避免映射产生低效的SQL操作外,缓存是提升Hibernat ...