以上两种策略仍然存在一个缺点:由于需要克隆大型资产仓库,所以存在较大的开销。解决此问题的一个方法是第一种策略的变体: 两个仓库; 将代码存储在分布式VCS存储库中,将资源存储在集中式VCS存储库中(如SVN,Alienbrain等)。
考虑到大多数图形设计师使用二进制文件工作,通常没有必要进行分支,除非真正需要(需要大量资源的新功能直到更晚才需要)。缺点是你需要找到一种备份中央仓库的方式。因此,有第三种策略:
像往常一样在存储库中保存代码,而不将资产保存在存储库中。应将资产放入某种内容/媒体/资产管理系统中,或者至少放在一个定期备份的文件夹中。这假设几乎不需要使用图形进行版本回溯。如果需要回溯,则图形更改可以忽略不计。
想法,无经验:我确实会将代码与数据分离。假设有一组属于应用程序的图像,则只需将其保存在集中式服务器上。然后,在代码中,我会通过显式编码安排应用程序可以集成本地或远程资产。贡献者可以首先将新图像放入其本地存储中,然后在需要和获得批准时,通过某种(显式)上传过程将其集成到中央存储库中。
git gc
可能会有很大帮助:Git 在文件之间去重吗?。 - Gabriel Staples