在git工具中,设置忽略文件只需要修改版本库根目录下的.gitignore文件就可以了,没有的话创建一个,非常简单,一个示例的.gitignore文件如下:过滤文件模式以行进行分隔

01
*.o
02
*.lo
03
*.la
04
*.gcda
05
*.gcno
06
aclocal.m4
07
autom4te.cache
08
build
09
compile
10
config.guess
11
config.h
12
config.h.in
13
config.h.in~
14
config.log
15
config.status
16
config.sub
17
configure
18
depcomp
19
.deps
20
install-sh
21
.libs
22
libtool

今天在使用svn时想设置忽略一些临时的项目开发文件,一下子不知道怎么弄,上网搜索和实践后,发现也不难,在此记录一下。配置的方法有以下几种:



Linux下svn命令行配置


1. 修改版本库的相关属性

svn忽略 node_modules svn忽略某个文件_svn


其中 dir 就是你所想设置过滤文件列表的目录,执行命令之后,会出现编辑界面,按照空格将你想过滤文件(通常使用通配符的方式)以空格分开,保存退出即可。这个属性是针对版本库进行的修改,因此需要提交这个修改。svn:ignore是svn的一个参数。 


注意:这个设置无法递归,也就是如果 dir 目录下还有子目录的话,是单独设置的。 




svn忽略 node_modules svn忽略某个文件_svn_02

这个配置是对客户端的修改,对版本库没有任何影响。同时,这个配置也是全局的,适用于本机所有 svn 管理的项目。 




Windows下 Tortoise SVN 设置



1. Tortoise SVN 上修改版本库的属性

在 svn 管理项目目录下右键,也就是你想设置过滤文件列表的目录,点击 Tortoise SVN->属性->新建,下拉列表选择 svn:ignore,然后在文本框里面编辑过滤文件列表。如果希望递归该属性,请选择左下角的复选框"递归应用该属性"即可。如图所示:

svn忽略 node_modules svn忽略某个文件_svn_03

svn忽略 node_modules svn忽略某个文件_svn忽略 node_modules_04



2. Tortoise SVN 客户端工具的配置

这个配置和 svn 版本库没有关系。在任何目录右键单击,依次点击 Tortoise SVN->设置->常规设置,全局忽略样式中添加忽略文件列表即可。如下图所示:

svn忽略 node_modules svn忽略某个文件_svn忽略 node_modules_05

熟悉了SVN的忽略文件配置后,我在想git中是否也有两种类型的忽略配置:版本库中的配置和客户端配置。git中的.gitignore文件显然可以是随版本库的配置,每个人都可以通过checkout一份都使用相同的配置。

公共过虑的文件模式
*.[Bb][Aa][Kk] *.[Dd][Bb] *.[Ll][Oo][Gg] *.[Mm][Aa][Pp] *.[Tt][Mm][Pp]

delphi 源码提交时需过虑的文件模式
*.~* *.[Dd][Dd][Pp] *.[Dd][Cc][Pp]  *.stat *.tds 

vc6 vs2003 vs2005  源码提交时需过虑的文件模式
*.aps *.clw *.ilk *.idb *.ncb *.opt *.obj *.plg *.pch *.pdb *.suo *.user [Dd]ebug [Rr]elease

*.o *.bin *.out *.scc

所有需过虑的文件模式
*.[Bb][Aa][Kk] *.[Dd][Bb] *.[Ll][Oo][Gg] *.[Mm][Aa][Pp] *.[Tt][Mm][Pp] *.~* *.[Dd][Dd][Pp] *.[Dd][Cc][Pp]  *.stat *.tds *.aps *.clw *.ilk *.idb *.ncb *.opt *.obj *.plg *.pch *.pdb *.suo *.user [Dd]ebug [Rr]elease *.fblz *.o *.bin *.out *.scc