利用TortoiseSVN忽略文件或文件夹
svn:ignore属性用于设置本地工作目录下的哪些目录或文件不用进行版本管理,这样在本地对这些内容进行添加、修改等操作时,SVN都会对其忽略。SVN属性跟源码文件一样,也受SVN的版本管理,添加或修改SVN属性需要先提交,再更新本地目录才能生效。
对于SVN代码库,只应该上传源代码、资源文件等内容进行版本管理,通常编译后的二进制文件、程序包等生成产物是不应该放到SVN上做版本管理的。
SVN代码库建立好后,将代码更新到本地并导入到Eclipse工程后,会生成.project, .settings等目录,对Maven工程的源码进行编译会生成target目录。这样SVN就会认为本地工作目录下的这些目录和文件是新文件,也要版本管理。但实际这些内容是不应该提交到SVN代码库中的。
注意:新建的代码库,直接按下面方法操作即可忽略不想让SVN管理的文件。如果想要把已经在版本库中存在的文件忽略,那么需要先将其从SVN服务器中删除,再执行下面操作。
因而,建立代码库后,首先要设置svn:ignore属性,然后再给开发人员提供使用,以避免开发误将不用版本管理的内容提交到SVN代码库中。
SVN默认不对.project文件进行版本管理,如果要忽略.settings, target目录和.classpath文件,则可利用TortosieSVN客户端设置svn:ignore或svn:global-ignores属性。在本地工作根目录上,右键 -> TortosieSVN -> Properties来设置svn:ignore属性,设置规则如下:
- .settings
- .settings/*
- target
- target/*
- .classpath
- .project
- .idea
- .idea/*
- *.iml
注意:上面的属性字符后面不能带空格。复制上述代码时,不要直接拷贝,而使用iteye的代码片段复制功能
找到【TortoiseSVN】→【设置】,在弹出窗口中,在【常规设置】→【全局忽略样式】,这里有一个输入框,以前所有的配置方式都是在这里添加,但是!添加后不生效!
设置好忽略的文件和目录后,选择Apply Property Recursively,将SVN属性也一同应用到所有子目录上,然后提交到SVN,将设置的SVN属性生效。
svn:ignore、global-ignores区别:
1、svn:ignore:只对当前目录有效;
global-ignores:是全局有效,就是所有目前都有效;
2、svn:ignore:必须每个工作目录都要设置,个性化配置;
global-ignores:只需要配置一次,使用方便;