在 GitHub 上编辑
unprotect
取消保护受跟踪的文件或目录(当使用 dvc config cache.type
启用了硬链接或符号链接时)。
概要
usage: dvc unprotect [-h] [-q | -v] targets [targets ...]
positional arguments:
targets Data files/directories to unprotect.
描述
默认情况下,此命令并非必需,因为 DVC 会避免使用硬链接和符号链接将受跟踪的数据文件从缓存链接到 工作区。但是,可以通过 dvc config cache
(配置选项 cache.type
)启用这些类型的文件链接。
启用硬链接或符号链接后,工作区中的受跟踪数据文件将变为只读链接(防止用户因手动修改内容而意外损坏缓存)。
运行 dvc unprotect
可确保工作区中的目标文件或目录(targets
)与缓存物理“解除链接”,从而可以安全地更新。请阅读 更新受跟踪的文件 指南以了解更多有关此过程的信息。
dvc unprotect
可能是一个开销较大的操作(涉及数据复制)。请先确认您的任务是否属于以下被认为是安全的情况之一:
- 向目录输入数据集添加更多文件(例如图像或视频)
- 从目录数据集中删除文件
选项
-
-h
,--help
- 打印使用说明/帮助信息,然后退出。 -
-q
,--quiet
- 不向标准输出写入任何内容。如果没有问题则以 0 退出,否则以 1 退出。 -
-v
,--verbose
- 显示详细的跟踪信息。
示例
启用符号链接:
$ dvc config cache.type symlink
使用 DVC 跟踪一个数据文件:
$ ls -lh
-rw-r--r-- 1 10576022 Nov 27 13:30 Posts.xml.zip
$ dvc add Posts.xml.zip
检查该文件是否为只读链接(@ 符号表示链接):
$ ls -lh
-r--r--r--@ 1 10576022 Apr 25 2017 Posts.xml.zip
-rw-r--r-- 1 120 Nov 27 13:29 Posts.xml.zip.dvc
取消保护该文件:
$ dvc unprotect Posts.xml.zip
检查该文件现在是否可写,缓存版本是否完整,并且两者之间不再有链接(工作区中的文件是缓存文件的一个副本):
$ ls -lh
-rw-r--r-- 1 120B Nov 27 13:29 Posts.xml.zip.dvc
-rw-r--r-- 1 10M Nov 27 13:30 Posts.xml.zip
$ ls -lh .dvc/cache/files/md5/ce/
-rw-r--r--@ 1 10M Apr 25 2017 68b98d82545628782c66192c96f2d2