1

作为标题,我有几种类型的文件存储在一个文件夹(带有子文件夹)中,我使用 Fossil 来保存一个存储库(例如 foo.R; foo.xls; foo.csv),我只希望我的 R 文件是添加到存储库中。我只知道fossil add .用来添加所有文件,然后fossil delete *.csv用来删除我不需要的文件。

有没有更有效的方法?

4

2 回答 2

4

除了 Reimer Behrends 的回答:在 Windows 命令行上,您可以使用递归 for 循环

for /r . %F in (*.r) do @fossil add %F

将所有.r文件添加到存储库,包括子文件夹中的文件。(如果您的文件都在同一个文件夹中,fossil add *.r就可以了)。

请注意,如果您想在批处理或.cmd文件中使用它,则必须将百分比字符(%%)加倍:

for /r . %%F in (*.r) do fossil add %%F
于 2016-03-11T08:34:12.397 回答
2

没有直接的方法将某些扩展列入白名单,但有一种方法可以将不需要的扩展列入黑名单。这可以通过fossil settings命令来完成,也可以缩写为fossil set. 例如,要排除.xls.csv文件,您可以执行以下操作:

fossil set ignore-glob '*.xls,*.csv'

ignore-glob设置是一个变量,它将接受以逗号或换行符分隔的 glob 模式列表。这些将被fossil addfossil addremovefossil clean忽略fossil extra。您可以使用fossil set ignore-glob查询此变量的当前值。

另一种方法(允许列入白名单)是明确指定要添加的文件。例如,如果您在 Unix 上,您可以执行以下操作:

fossil add $(find . -name '*.R')

只添加您需要的文件。对于某些 shell,fossil add **/*.R可能也可以工作,如果您没有任何子目录,fossil add *.R则应该可以在任何地方工作。

于 2016-03-11T04:36:15.653 回答