DVC执行dvc add添加tar.gz文件报错.dvc被git忽略如何解决
报错根因
你在.gitignore中新增的models条目会忽略整个my_server/models/目录下的所有文件:
- 执行
dvc add ./my_server/models/*.tar.gz时,DVC会在models目录下为每个tar.gz文件生成对应的.dvc索引文件,这些文件命中了models忽略规则,因此触发git-ignored报错 - 执行
dvc add ./my_server/models/时,DVC会在你执行命令的项目根目录生成models.dvc文件,该文件不在忽略规则范围内,因此可以正常生成
正确操作步骤
- 首先修正.gitignore配置:删除新增的
models条目,保留原有的*.tar.gz规则即可;如果需要更精准的匹配,可以把规则调整为my_server/models/*.tar.gz,仅忽略模型压缩包,避免误杀.gitkeep、.dvc这类需要提交的小文件 - 如果你需要单独跟踪每个tar.gz文件的版本变动,修正.gitignore后重新执行
dvc add ./my_server/models/*.tar.gz即可 - 如果你只需要整体跟踪models目录的变动,直接使用可正常执行的
dvc add ./my_server/models/即可 - 配置完成后依次执行
dvc push推送模型文件到S3远程存储,再执行git add .dvc/ .gitignore 对应.dvc文件路径、git commit将DVC元数据提交到Git仓库即可
关于.dvc文件的配置说明
绝对不要将*.dvc添加到.gitignore中。
.dvc文件是DVC用来记录大文件哈希、存储路径、版本信息的索引文件,体积极小,必须提交到Git仓库做版本管理:团队其他成员克隆Git仓库后,就是靠这些.dvc文件才能从DVC远程存储拉取对应版本的大文件。
内容的提问来源于stack exchange,提问作者Code Guru
相关产品推荐
相关产品推荐

