remove
别名为
dvc rm。
从 dvc.yaml 中移除阶段,和/或停止跟踪文件或目录(并可选择性地删除它们)。
概要
usage: dvc remove [-h] [-q | -v] [--outs] targets [targets ...]
positional arguments:
targets stages (found in dvc.yaml) or .dvc files to remove.描述
安全地从 .dvc 文件或 dvc.yaml 中移除阶段。包括删除相应的 .gitignore 条目(基于已移除的 outs 字段)。
dvc remove 不会从 DVC 缓存 或 远程存储 中删除文件。请使用 dvc gc 完成此操作。
该命令接受一个或多个阶段名称(参见 dvc stage add 的 -n 选项)或 .dvc 文件名作为 targets。
如果在移除后 dvc.yaml 中不再有任何阶段,则 dvc.yaml 和 dvc.lock 都会被删除。如果 .gitignore 中也没有剩余条目,则该文件也会被删除。
请注意,此命令不会删除阶段的实际输出文件或目录(outs 字段),除非使用了 --outs 选项。
💡 参考 撤销添加数据,了解如何替换由 DVC 跟踪的数据。
选项
-
--outs- 同时移除任何targets的输出。⚠️ 此选项可能是不可逆的(例如,如果数据未被缓存)。
-
-h,--help- 打印使用说明/帮助信息,然后退出。 -
-q,--quiet- 不向标准输出写入任何内容。如果没有问题则以 0 退出,否则以 1 退出。 -
-v,--verbose- 显示详细的跟踪信息。
示例:移除一个 .dvc 文件
假设我们有 foo.csv 和 bar.csv 文件,且已被 DVC 跟踪:
$ ls
bar.csv bar.csv.dvc foo.csv foo.csv.dvc
$ cat .gitignore
/foo.csv
/bar.csv这将移除 foo.csv.dvc,并确认其在 .gitignore 中的条目已被清除:
$ dvc remove foo.csv.dvc
$ ls
bar.csv bar.csv.dvc foo.csv
$ cat .gitignore
/bar.csv相同的流程适用于被跟踪的目录。
示例:移除一个阶段及其输出
假设我们在 dvc.yaml 中有一个 train 阶段,并且工作区中有对应的文件:
train:
cmd: python train.py data.csv
deps:
- data.csv
- train.py
outs:
- model$ ls
dvc.lock dvc.yaml foo.csv foo.csv.dvc model train.py对阶段名称使用 dvc remove 将从 dvc.yaml 中移除该条目,并从 .gitignore 中移除其输出条目。使用 --outs 选项时,其输出也将被删除(在此示例中仅为 model 文件):
$ dvc remove train --outs
$ ls
dvc.lock dvc.yaml foo.csv foo.csv.dvc train.py注意,依赖项(
data.csv和train.py)不会被删除。