作为标题,我有几种类型的文件存储在一个文件夹(带有子文件夹)中,我使用Fossil来保存一个存储库(例如foo.R; foo.xls; foo.csv),我只想要我的R要添加到存储库中的文件。我只知道使用fossil add .
添加所有文件,然后使用fossil delete *.csv
删除我不需要的文件。
有更有效的方法吗?
答案 0 :(得分:3)
除了Reimer Behrends'answer:在Windows命令行中,您可以使用recursive for loop:
for /r . %F in (*.r) do @fossil add %F
将所有.r
文件添加到存储库,包括子文件夹中的文件。 (如果您的文件都在同一个文件夹中,fossil add *.r
会这样做。)
请注意,如果要在批处理或.cmd
文件中使用此字符,则必须将百分比字符加倍(%%):
for /r . %%F in (*.r) do fossil add %%F
答案 1 :(得分:2)
没有直接方法将某些扩展列入白名单,但有一种方法可以将您不需要的扩展名列入黑名单。这可以通过fossil settings
命令完成,该命令也可以缩写为fossil set
。例如,要排除.xls
和.csv
文件,您可以执行以下操作:
fossil set ignore-glob '*.xls,*.csv'
ignore-glob
设置是一个变量,它将接受以逗号或换行符分隔的glob模式列表。这些内容将被fossil add
,fossil addremove
,fossil clean
和fossil extra
忽略。您可以使用fossil set ignore-glob
来查询此变量的当前值。
替代方法(允许列入白名单)是明确指定要添加的文件。例如,如果您使用的是Unix,则可以执行以下操作:
fossil add $(find . -name '*.R')
仅添加您需要的文件。对于某些shell,fossil add **/*.R
也可能有效,如果您没有任何子目录,fossil add *.R
应该可以在任何地方使用。