2

我想在 git 存储库中使用 dvc 的管道功能。数据以其他方式管理,不应由 dvc 进行版本控制。唯一需要的功能是 dvc 在dvc repro调用时重现管道所需的步骤。在新系统上检查存储库应该会导致一个“空”存储库,其中没有存储任何管道步骤。

因此, - 如果我理解正确 - 不需要跟踪存储库中的 dvc.lock 文件。但是,将 dvc.lock 添加到 .gitginore 文件会导致错误消息:

ERROR: 'dvc.lock' is git-ignored.

有什么方法可以禁用 .gitignore 中的 dvc.lock 检查这个用例吗?

4

1 回答 1

3

这绝对是可能的,因为 DVC 功能彼此松散耦合。您可以通过编写 dvc.yaml 文件来进行流水线操作,但通过cache: false在阶段输出 ( outsfield ) 中使用来避免数据管理/版本控制。另请参见助手dvc stage add -Obig O,别名 of --outs-no-cache)。

对于初始数据依赖项也是如此,您可以使用dvc add --no-commit它们(ref)。

不过,您确实想在 Git 中跟踪dvc.lock,以便 DVC 可以确定与每个 repo 副本或分支中的 Git 提交相关联的管道的最新阶段。

您将负责在工作区中放置正确的数据文件/目录(匹配 .dvc 文件和 dvc.lock),dvc repro以便dvc exp run按预期运行。dvc checkout将无法帮助您。

于 2021-06-22T20:24:47.733 回答