我可以使用 git 来对 psd 文件和 maya 项目进行版本控制吗?

我可以使用 git 来对 psd 文件和 maya 项目进行版本控制吗?

我在编程项目中使用 git、版本控制、共享和协作取得了巨大成功,并希望在 photoshop .psd、illustrator.ai和 maya 项目中也能取得同样的效果。您可能知道,Maya 是一款出色的 3D 建模和渲染工具包,但它的项目保存方式有点像编程框架,有各种用于存放源图像和纹理等的目录。

默认目录结构设置

在这方面使用 git 是行业惯例吗?在 github 上开源一部 3D 电影或一款游戏的 3D 文件将是一件了不起的事情!

显然,所有文件都只是数字,因此理论上 git 可以只更新 .jpegs 或 maya 二进制文件中已更改的部分,但您认为这实际上会导致数据损坏和撕裂吗?就像我说的,我想对 photoshop 和 illustrator 文件做同样的事情。

如果 git 不是一个选项,我还应该如何对 maya 和 adobe 项目进行版本控制、协作和开源?

答案1

需要记住的一点是,git 不适用于处理非常大的 repo 或文件。

这是一篇文章为什么选择 Facebook不是使用 git 进行版本控制。基本上 git 的扩展性不够好。

Github 对 git 的局限性有很好的解释这里:

git 几乎可以处理你交给它的任何文件(参见二进制差异

Photoshop

使用 git 对 photoshop 文件进行版本控制应该没有问题。(假设它们相对较小)

玛雅

Maya 生成的项目可能太大,无法在 git 中很好地扩展。特别是如果您计划推送到 github 或 gitlab 等远程位置。

我认识的大多数使用 Maya 或类似软件的人,都将自己的作品保存在网络安装驱动器上,只与几个合作者共享。当某个版本准备发布时,它会被渲染并托管在 ftp 站点上。

其他资源

语义版本控制

https://stackoverflow.com/questions/540535/managing-large-binary-files-with-git

答案2

我也遇到这个问题很久了。经过一番研究,我发现有几种方法可以控制图形资产的版本。有些方法需要你自己的服务器(有些需要你专门运行 Windows 服务器),有些可以托管在第三方服务器上。我最喜欢的(虽然不是完全令人满意)是时间线来自 Pixelnovel。

有类似的问题这里关于时间线

根据我的经验,您应该确保所有合作者都使用相同版本的软件(Timeline 和 PS/AI/Maya),旧版本的 PS 要求您运行旧版本的 Timeline,而该版本处理工作树的方式与更新版本不同。

我还使用常规 Subversion(无 GUI)对大型图形资产进行版本控制,我发现如果您习惯使用终端,那么它并不是那么糟糕。当然,合并、冲突等操作在二进制文件中是不可能的,但至少您可以通过结构化日志获得简洁的版本管理。此外,使用 SVN,您可以在使用文件时锁定它(Timeline 可以为您做到这一点)。

我不喜欢使用带有图形的 git(尽管我喜欢使用非二进制文件),并且 spuder 提出的观点非常有效。

相关内容