是否有处理大型资产的好方法(如1000多幅图像、闪存电影等)使用DVCS工具,如hg和git。在我看来,克隆包含4GB资产的存储库似乎是不必要的开销,因为您将检查这些文件。如果将源代码与资产文件混为一谈,这似乎相当麻烦。
有没有人有在web开发环境中这样做的想法或经验?
发布于 2009-08-16 18:28:29
这些是我在这个问题上的一些想法。最后,您可能需要尽可能地保持资产和代码的独立性。我可以想出几种可能的策略:
分布式,两个存储库
一个回购中的资产和另一个回购中的代码。
优势
缺点
分发,一个储存库
资产和代码驻留在同一个存储库中,但它们位于两个不同的目录中。
优势
缺点
上面列出的两种策略仍然存在开销大的缺点,因为您需要克隆大型资产存储库。解决此问题的一个解决方案是上述第一个策略的一个变体,即两个存储库;将代码保存在分布式VCS中,将资产保存在集中式VCS中(例如SVN、Alienbrain等)。
考虑到大多数图形设计人员如何处理二进制文件,通常不需要分支,除非它是真正必要的(新特性需要大量的资产,直到很久以后才需要)。缺点是您需要找到一种备份中央存储库的方法。因此,第三项战略:
非仓库资产(或改为CMS中的资产)
与往常一样,存储库中的代码和资产不在存储库中。资产应该放在某种内容/媒体/资产管理系统中,或者至少放在定期备份的文件夹中。这假设很少需要用图形来追溯版本。如果需要回溯,那么图形变化是可以忽略不计的。
优势
缺点
发布于 2009-08-16 16:53:55
思想,没有经验:我确实会把代码和数据分开。假设有一组属于应用程序的映像,我将把它保存在一个集中的服务器上。在代码中,我会安排(通过显式编码)应用程序可以集成本地或远程资产。然后,投稿人员首先可以将新的图片放在他们的本地商店中,并在需要和批准时将其与某种(显式)上传过程集成到中央商店中。
发布于 2009-08-16 19:21:00
我自己也和这事做过斗争。正如您所说,对资产的GBs进行版本控制可能会带来巨大的痛苦。
对于需要外部参与的项目,我发现Mercurial是一个可行的解决方案,但不是一个很好的解决方案。它占用了大文件的磁盘空间,而且可能会很慢,这取决于环境。
在我的内部设计工作中,我更喜欢使用简单的同步工具(rsync、synctoy等)来保持目录在服务器/机器之间的最新更新,然后手动进行版本控制。我发现除了主要的修订之外,我很少需要版本控制。
https://stackoverflow.com/questions/1284669
复制相似问题