- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我在一个使用 DVC(数据版本控制)的项目上工作。假设我做了很多本地提交。像这样:
# make changes for experiment 1
dvc add my_data_file
git add my_data_file.dvc
git commit -m "Experiment 1"
# make changes for experiment 2
# which change both code and data
dvc add my_data_file
git add my_data_file.dvc
git commit -m "Experiment 2"
# make changes for experiment 3
# which change both code and data
dvc add my_data_file
git add my_data_file.dvc
git commit -m "Experiment 3"
# Finally I'm done
# push changes:
dvc push
git push
但是有一个问题:dvc push
只会从实验 3 中推送数据。有什么方法可以从所有本地提交中推送数据(即从远程分支的第一个提交开始)?
目前我看到两个选项:
dvc push -T
推送它git checkout commit-hash && dvc push
。这两个选项看起来都很麻烦且容易出错。有没有更好的方法呢?
最佳答案
为了减少出错的可能性,您可以使用 HEAD~1
来引用之前的提交,而不是使用确切的提交哈希。
如果您使用的是 Bash,则可以使用 for 循环迭代最后 3 次提交并dvc push
内容。
for x in {1..3}; do git checkout HEAD~1 && dvc push; done
记得 git checkout
回到你的工作分支(即 git checkout master
)
回答您的评论("dvc push" after several local commits):
Is there a way to disable hooks after dvc install command?
当您运行 dvc install
时,它会在 .git/hooks
目录下创建三个文件:
.git/hooks
├── post-checkout
├── pre-commit
└── pre-push
要禁用它们,您可以删除这些文件(即 rm .git/hooks/post-checkout
)。
顺便说一下,我编辑了 DVC 的文档以包含更多关于此的信息。
关于git - 几次本地提交后 "dvc push",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56818930/
当远程中缺少某些文件时,DVC 会遇到问题。例如当我执行 dvc pull我得到输出 [##############################] 100% Analysing status. W
我想在 git 存储库中使用 dvc 的管道功能。数据以其他方式管理,不应由 dvc 进行版本控制。唯一需要的功能是 dvc 在调用 dvc repro 时重现管道所需的步骤。在新系统上 check
根据this tutorial当我更新文件时,我应该首先从 DVC 控制下删除文件(即执行 dvc unprotect .dvc 或 dvc remove .dvc ),然后通过 dvc add 再
我将 DAGsHub 存储用作远程存储并遇到以下错误消息(尝试 DVC 拉取时): ERROR: Lockfile 'bias_tagging_model/dvc.lock' is corrupted
摘要:我尝试使用 dvc-run 定义 dvc 步骤,其中命令取决于某些环境变量(例如 $HOME)。问题是,当我在机器 A 上定义步骤时,变量在存储在 .dvc 文件中时会扩展。在这种情况下,不可能
我dvc add -ed 一个我不想添加的文件。我还没有 promise 。 如何撤消此操作?在 Git 中,你可以这样做 git rm --cached . 需要明确的是:我想让 DVC 忘记该文
我是使用 DVC 的新手,只是在探索它。我正在尝试从我团队中的另一个人推送的 s3 中提取数据。但是我收到了这个错误: WARNING: Some of the cache files do not
运行 dvc push data.csv(到 ssh-remote)后,当我尝试从同一个远程 dvc-pull 另一台机器上的同一个文件时,它不会被拉取。以下是日志和错误: 2021-01-21 22
我使用 DVC 来跟踪我的媒体文件。我使用 MacOS,我希望 DVC 忽略“.DS_Store”文件。根据 DVC 文档,我可以用 .dvcignore 实现它.我用“.DS_Store”规则创建了
有人可以解释一下 DVC 如何将目录级别的差异存储到 DVC 缓存中。 据我了解,DVC 文件 (.dvc) 是用于跟踪数据、模型和重现管道阶段的图元文件。然而,我不清楚创建分支、提交分支并切换回主文
试图了解 dvc , 大多数教程都提到通过运行 dvc run 生成 dvc.yaml命令。 但同时,定义 DAG 的 dvc.yaml 也是 well documented .此外,它是一种 yam
我在将带有 DVC 的文件推送到 DAGsHub 时遇到问题。 工作流程: 我用我的电子邮件注册了 DAGsHub。 我创建了一个 repo 并将其克隆到我的计算机。 我将文件添加到 repo 并使用
我希望我的数据和模型存储在单独的 Google Cloud 存储桶中。这个想法是我希望能够在不共享模型的情况下与他人共享数据。 我能想到的一个想法是为数据和模型使用单独的 git 子模块。但这感觉很麻
我在一个团队中使用 dvc 和 git 来控制数据文件。我们正在使用 dvc 1.3.1 和 S3 存储桶 Remote 。执行 dvc fetch 时出现此错误或 dvc pull在同事的分支上:
此时我们已经基本完成了版本控制的整个分布式事物。我并不是说一切都很完美,但是,从现在开始,这主要只是继续已经开始的事情的问题。 不过,恕我直言,分布式错误跟踪还处于起步阶段。这是相当不方便的,无法在路
我正在开发一个使用 DVC(数据版本控制)的项目,当我将文件推送到远程存储时,文件的名称会发生更改。如何保存名称? 最佳答案 简短回答:没有办法做到这一点。 长答案:Dvc Remote 是基于内
我正在开发一个使用 DVC(数据版本控制)的项目,当我将文件推送到远程存储时,文件的名称会发生更改。如何保存名称? 最佳答案 简短回答:没有办法做到这一点。 长答案:Dvc Remote 是基于内
我在一个使用 DVC(数据版本控制)的项目上工作。假设我做了很多本地提交。像这样: # make changes for experiment 1 dvc add my_data_file git a
我有几个项目正在使用和更新相同的数据源。我最近了解到 dvc's data registries ,这听起来像是跨这些不同项目(例如刮板、计算管道)版本化数据的好方法。 我已将所有相关数据放入data
有人在 MinIO 存储上安装 DVC 吗? 我已阅读 docs但对我来说并不是很清楚。 我应该使用哪个命令来设置带有此入口参数的 MinIO 存储: 存储地址:https://minio.mysit
我是一名优秀的程序员,十分优秀!