文 - 篇  访客 -

svn


  分类:Linux  / 
更新:2023-07-25 11:52:54  /  创建:2022-08-18 10:34:43
不要删除

date created: 2022-07-05 11:09

取消svn add

Use the svn revert command:

svn revert --recursive example_folder

http://data.agaric.com/node/1477 

Posted in: 服务器

svn:ignore 的用处 过滤 目录 排除 不想提交的文件

用svn管理代码,一直以来都受到一件不爽事情的困扰:

1)有些文件或文件夹不想在commit的时候看到,虽然他们是non-versioned,比如*.bak._.class,_.scc(vss文件),目录比如bin/, classes/,还有一些是eclipse之类开发工具生成的文件

2)当错误的将以上那些不想看到的文件加入svn后,该怎么忽略它们

google了一下svn ignore,看到了些方法:

转自http://www.svn8.com/SVNSY/20090405/4410.html 写道

若想创建了一个文件夹,并且把它加入版本控制,但忽略文件夹中的所有文件的内容:

$ svn mkdir spool

$ svn propset svn:ignore '*' spool

$ svn ci -m 'Adding "spool" and ignoring its contents.'

若想创建一个文件夹,但不加入版本控制,即忽略这个文件夹:

$ mkdir spool

$ svn propset svn:ignore 'spool' .

$ svn ci -m 'Ignoring a directory called "spool".'

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

$ svn export spool spool-tmp

$ svn rm spool

$ svn ci -m 'Removing inadvertently added directory "spool".'

$ mv spool-tmp spool

$ svn propset svn:ignore 'spool' .

$ svn ci -m 'Ignoring a directory called "spool".'

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

命令行方式固然好,但我用的是tortoisesvn,界面操作更加人性化和easy。tortoisesvn下页可以类似的这么做:

1)找到这些文件,直接右键,add to ignore list, 之后可以选择by name,by extention, 选择by extention就能忽略同类文件了。

2)直接在命令模式del /s _.bak ,先把_.bak在本地工作目录删除掉,然后再commit;看需要,再将*.bak 加入ignore


不要删除

是日已过,命亦随减,如少水魚,斯有何乐?