Version control 如何在DVCS中适当管理大型艺术资产?
使用DVCS工具(如和)处理大型资产(如1000张图像、flash电影等)是否有好方法。在我看来,克隆装满4 GB资产的存储库似乎是不必要的开销,因为您将签出这些文件。如果将源代码与资产文件混合在一起,则看起来相当麻烦Version control 如何在DVCS中适当管理大型艺术资产?,version-control,dvcs,asset-management,Version Control,Dvcs,Asset Management,使用DVCS工具(如和)处理大型资产(如1000张图像、flash电影等)是否有好方法。在我看来,克隆装满4 GB资产的存储库似乎是不必要的开销,因为您将签出这些文件。如果将源代码与资产文件混合在一起,则看起来相当麻烦 在web开发环境中,有人有这样做的想法或经验吗?想法,没有经验:我确实会将代码与数据分开。假设有一组图像属于该应用程序,我会将其保存在一个集中式服务器上。在代码中,我会安排(通过显式编码)应用程序可以集成本地或远程资产。然后,用户可以首先将新图像放入本地存储,并在需要和批准时将其
在web开发环境中,有人有这样做的想法或经验吗?想法,没有经验:我确实会将代码与数据分开。假设有一组图像属于该应用程序,我会将其保存在一个集中式服务器上。在代码中,我会安排(通过显式编码)应用程序可以集成本地或远程资产。然后,用户可以首先将新图像放入本地存储,并在需要和批准时将其与某种(明确的)上传过程集成到中央存储。这些是我对这一主题的一些想法。最后,您可能需要将资产和代码尽可能分开。我可以想出几种可能的策略: 分布式,两个存储库 一个回购协议中的资产和另一个回购协议中的代码 优势
- 在web开发环境中,如果不直接使用图形文件,则不需要克隆巨人资产存储库。如果您有一个web服务器,该服务器处理与动态内容(PHP、ASP.NET、RoR等)分离的资产,并与资产回购同步,则这是可能的
- DVCS工具不跟踪自己的存储库以外的其他存储库,因此没有任何直接的BOM(物料清单)支持,也就是说,没有明确的方法来判断两个存储库何时同步。(我想这就是我们的目的) 示例:艺术家在一个存储库中添加了一张新图片,程序员添加了使用该图片的功能,但是当有人不得不回溯版本时,他们被迫以某种方式自己跟踪这些更改
- 资产存储库开销,即使它只影响使用它的人
- 代码和资产的版本控制相互交织,因此BOM是实用的。回溯是可能的,没有太多麻烦
- 由于分布式版本控制工具跟踪整个项目结构,因此通常无法只签出一个目录李>
- 您仍然存在存储库开销问题。更重要的是,您需要检查资产和代码
- 不会使代码存储库膨胀(例如,git经常进行文件检查,这对它很有帮助)
- 支持灵活地处理资产,例如将资产部署到专用于资产的服务器
- 如果在带有API的CMS上,资产应该相对容易在代码中处理
- 没有BOM表支持
- 没有易于扩展的版本回溯支持,这取决于资产的备份策略
对于我的内部设计工作,我更喜欢使用简单的同步工具(rsync、synctoy等)在服务器/机器之间保持目录最新,然后手动进行版本控制。我发现我很少需要对重大修订以外的内容进行版本控制。游戏开发行业(拥有巨大的存储库)中一个相当流行的选择是使用塑料SCM 它们可以选择在文件系统而不是数据库中存储blob
也许在本文中应该提到GIT LFS(另请参见)GIT的伸缩性似乎不如您希望添加的第三个选项那么大。这比我最初写这个答案时想象的更普遍,因为我后来在基于CMS的系统上工作了几年。