我有一个分析图像的项目。该项目的测试数据 - 大约 15 GB 的图像。问题:鉴于需要存储多个版本并且大多数开发人员都需要这些数据,在哪里存储这些测试数据?
在与代码相同的存储库中?在具有外部参考的单独存储库中?
我有一个分析图像的项目。该项目的测试数据 - 大约 15 GB 的图像。问题:鉴于需要存储多个版本并且大多数开发人员都需要这些数据,在哪里存储这些测试数据?
在与代码相同的存储库中?在具有外部参考的单独存储库中?
I would agree with the other answers that it's a bad idea to keep this much test data in your repository. There are a couple of systems, however, that let you conveniently refer to (and download) large data from outside your git repository:
I'm afraid that I haven't used either for any serious purpose myself, but they sound like plausible solutions to what you want.
如果这些图像只是开发人员或想要运行测试的人需要,我可能会将它们放在一个子模块中,因为它们看起来相当大......
有很多选择,但是您应该注意将任何解决方案正确地集成到您的 git 存储库中。
Git 是版本控制系统,更准确地说,它存储项目的快照列表。每个快照都代表您在某个时间点的项目。
无论您选择哪种解决方案,您的项目都应该可以提取项目历史中任何快照中存在的测试数据。
例如,如果每个图像都永久存在于一个固定的 URL 中,那么您的 git 项目可以简单地存储一个包含所有 URL 的文本文件。在运行时,让脚本获取每个图像。随着项目的发展以及在测试集中添加或删除图像,不要更改现有的 URL 方案。更新指针文件并提交。
另一个好主意可能是在每个 URL 记录图像的md5或sha1哈希值。您的下载脚本应该在运行时进行比较以检查,因此您可以收到任何不一致的警告。