转载自:http://ztgame.shenyu.me/env/svn/svn-ignore.html
svn 忽略文件、文件夹是通过设置文件夹的svn:ignore
属性来实现的,所以只需要将忽略文件的列表添加至对应文件夹的svn:ignore
属性中即可。
- 设置
svn:ignore
属性
svn propset svn:ignore "*.o
> *.a
> *.tmp
> *.log
> tmp
> " .
这里的命令是通过多行输入的,用换行符分隔各个要忽略的文件、文件夹
支持通配符
文件夹名不能带 /
命令最后的
.
代表设置的是当前文件夹,当然可以指定为其他文件夹获取属性列表
svn proplist
打印当前文件夹的属性清单,如果设置了svn:ignore
属性,则会打印出来。获取
svn:ignore
清单
svn propget svn:ignore
删除
svn:ignore
属性
svn propdel svn:ignore
提交改变
svn commit -m "这是提交时写的对变动内容的描述"
查看某个文件夹下的改动
svn status
svn:ignore属性
用于设置本地工作目录下的哪些目录或文件不用进行版本管理,这样在本地对这些内容进行添加、修改等操作时,SVN都会对其忽略。SVN属性跟源码文件一样,也受SVN的版本管理,添加或修改SVN属性需要先提交,再更新本地目录才能生效。
对于SVN代码库,只应该上传源代码、资源文件等内容进行版本管理,通常编译后的二进制文件、程序包等生成产物是不应该放到SVN上做版本管理的。
svn:ignore
属性是文件夹的一个属性,所以设置它时需要进入到相应文件夹下.
svn如何屏蔽/忽略不需要版本控制的文件
以忽略UserInterfaceState.xcuserstate文件为例.
假设UserInterfaceState.xcuserstate在下面的目录下面:
~/工程目录/工程名字.xcodeproj/project.xcworkspace/xcuserdata/用户名.xcuserdatad
打开终端执行以下命令即可:
-
cd
~/工程目录/工程名字.xcodeproj/project.xcworkspace/xcuserdata/用户名.xcuserdatad
-
svn rm --force
UserInterfaceState.xcuserstate
[如果svn命令不能执行,请安装xcode中的命令行工具或用Spotlight查找svn所在]
svn update [可能需要]
svn commit -m "忽略该死的UserInterfaceState.xcuserstate" -
export EDITOR=nano
[注释:这是bash下] -
svn propedit svn:ignore .
[注意后面有个点号,代表本目录] - 第4步执行完了会弹出nano编辑界面,复制粘贴UserInterfaceState.xcuserstate后按Ctrl+X输入Y保存即可.
- 输入
svn status
就发现不显示UserInterfaceState.xcuserstate了.证明修改成功.