转:http://www.uml.org.cn/pzgl/2009061910.asp
如果你不小心添加了一些应该被忽略的文件,你如何将它们从版本控制中去除而不会丢失它们?或许你有自己的IDE配置文件,不是项目的一部分,但将会花费很多时间使之按照自己的方式工作。
如果你还没有提交,你只需要TortoiseSVN → Revert...来取消添加,你需要将这个文件添加到忽略列表,这样它们才不会被再次误添加近来。
如果文件已经存在于版本库,你需要做更多的工作。
-
把文件移动到其它安全的位置,不在你的工作拷贝的目录内。
-
TortoiseSVN → 提交父目录,TortoiseSVN会查看遗失文件和你从版本库标记删除的文件。
-
将文件移到原始位置
-
将文件添加到忽略文件,所以你不必再为此烦心。
例如:我们要过滤classes文件夹
1.先把classes目录copy到其他目录(即不在你的工作拷贝内)
2.删除classes目录
3.提交父目录
4.将classes目录还原到原位置
5.在classes父目录设置svn:ignore属性,忽略classes文件夹
如果你需要将整个目录从版本控制中删除,过程会有一点区别。
-
TortoiseSVN → 导出文件夹到某个安全的地方而不是你的工作复本。
-
TortoiseSVN → 删除,从你的工作复本中删除该文件夹。
-
TortoiseSVN → 提交对文件夹的删除操作,将它从版本库中移除。
-
将导出的文件拷贝回工作拷贝原来的位置。
-
将文件添加到忽略文件,然后你不必再为此烦心。