Git对于二进制数据就很好了.例如,许多项目存储例如git仓库中的图像.
我想,经验法则是确定二进制文件是源材料,外部依赖项还是中间构建步骤.当然,没有严格的规则,因此只需决定您对它们的感觉.这是我的建议:
>如果它们(可重现)是从某事物生成的,则.gitignore二进制文件,并具有用于构建必要数据的脚本.它可以在同一仓库中,也可以在单独的仓库中-取决于感觉最佳.
>如果从某些外部来源获得相同的逻辑,例如外部下载.通常,我们不将依赖项存储在资源库中-我们仅保留对其的引用.例如.我们不保留virtualenvs,而仅保留requirements.txt文件-Java世界类比(粗略地近似)就像没有.jars而是只有pom.xml或build.gradle中的依赖项部分一样.
>是否可以将其视为原材料,例如如果您使用Python作为编辑器来操作它们-不必担心文件的二进制性质,而只需将它们放在存储库中即可.
>如果它们不是真正的原始资料,但是它们的生成过程确实很复杂或需要很长时间,并且这些文件并不意味着要定期进行更新-我认为拥有它们并不是完全错误的在回购中.当然,留下有关文件如何产生的注释(README.txt或类似内容)是个好主意.
哦,如果文件很大(例如数百兆字节或更多),请考虑查看git-lfs.