如何在DVC跟踪目录中增量添加文件无需拉取完整远程历史?
DVC增量添加已跟踪目录文件的解决方案
你遇到的问题是因为默认dvc add会重新生成整个目录的跟踪记录,覆盖原有.dvc文件,导致只保留新添加的文件。要实现无需拉取完整历史的增量添加,可以通过以下方式解决:
核心方法:使用dvc add --append参数
当你新增近3天的数据后,不要直接运行普通的dvc add,而是执行:
dvc add data/raw/commits/ --append
这个参数的作用是:
- 保留原有
.dvc文件中对历史文件的跟踪记录 - 仅将新增的文件(近3天的
data.json)添加到跟踪列表中 - 自动更新
commits.dvc的nfiles数值(原有184 + 新增3 = 187)
增量推送至远程存储
执行完dvc add --append后,只需要推送更新后的.dvc文件和新增的数据文件即可,无需重新推送全部历史:
dvc push commits.dvc
DVC会自动识别出本次新增的文件,仅上传这些内容到远程存储,节省带宽和时间。
注意事项
- 如果之前已经用普通
dvc add覆盖了commits.dvc,需要先从Git版本控制中恢复之前的commits.dvc文件(因为Git会记录.dvc文件的历史版本),再执行--append操作。 - 确保新增文件的目录结构和原有数据保持一致(按
年/月/日分区),DVC才能正确识别并增量添加。
内容的提问来源于stack exchange,提问作者Itzblend
相关产品推荐
相关产品推荐

