首页 > 解决方案 > 基于 svn 忽略列表配置取消版本/删除文件

问题描述

SVN/GIT 忽略非常适合帮助您防止文件被提交到版本控制预提交。我的问题是,使存储库符合 SVN 忽略文件、提交后最简单的方法是什么?

示例:多个~$xxx.xlsx文件、debug.log文件和“ _Preview”文件夹分布在多个级别的多个文件夹中,需要从存储库中删除。如果 SVN 有一个引用忽略列表的命令,并且会分阶段删除违反忽略列表的所有内容以供审查并承诺删除,那就太好了。只是取消版本并添加到忽略列表或任何其他命令通常是逐个文件或递归到文件存在但不相邻或以上的子文件夹。

情况:很多(很多)文件已进入存储库,并且忽略列表已扩展,尤其是包含~*. 我开始编写一个批处理文件,但如果像 Tortoise 甚至批处理文件这样的东西可以使用 SVN 配置忽略列表并基于它删除所有文件,那将是最有帮助的。目前我正在编写一个批处理文件来删除它们,使用这里For /R C:\temp\ %%G IN (*.bak) do Echo "%%G"的示例,但随后将打开一个提交窗口,选择所有丢失的文件,并标记为 SVN 删除(假设中等到有经验的 SVN 用户)。批处理文件有我正在处理的怪癖,除非我想构建解析器,否则我将不得不手动将配置文件参数移植到批处理文件可读部分。

在 SVN 配置文件中使用 TortoiseSVN 和 SVN 的示例:

### Section for configuring miscellaneous Subversion options.
[miscellany]
### Set global-ignores to a set of whitespace-delimited globs
### which Subversion will ignore in its 'status' output, and
### while importing or adding files and directories.
### This can be bypassed. Ex. Right click directly on files to add.
### '*' matches leading dots, e.g. '*.rej' matches '.foo.rej'.
### .mine and .r#### are created upon a SVN conflict
### .git .base .local .remote .original *.orig are GIT conflict files
global-ignores = *.o *.lo *.la *.al .libs *.so *.so.[0-9]* *.a *.pyc *.pyo __pycache__
  *.rej *~ #*# .#* .*.swp .DS_Store [Tt]humbs.db desktop.ini
  History __[Pp]reviews [Pp]roject?[Ll]ogs?for* [Dd]ebug.log ~*
  *.mine *.r[0-9] *.r[0-9][0-9] *.r[0-9][0-9][0-9] *.r[0-9][0-9][0-9][0-9] *.r[0-9][0-9][0-9][0-9][0-9]
  *.svn *.git *.BASE *.LOCAL *.REMOTE *.original *.orig

SVN忽略文件的详细信息,我的机器上是本地的tsvn-dug-ignore.html#tsvn-dug-ignore-glob

标签: gitsvn

解决方案


推荐阅读