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


15

我在git项目,版本控制,共享和协作等编程项目上都取得了巨大的成功,并且希望在photoshop .psd,illustrator .ai和maya项目中也能做到这一点。如您所知,Maya是一个出色的3D建模和渲染工具包,但是其项目像编程框架一样保存下来,其中包含用于源图像和纹理等的各种目录。

默认目录结构设置

在这方面使用git是否是行业惯例?在github上开源3D电影或游戏的3D文件真是不可思议!

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

如果没有git选项,我还应该如何版本化,协作和开源Maya和Adobe项目?


Tactic是3D资产文件版本控制的开源选项。就个人而言,我在工作流程中使用Dropbox。
约翰

我使用Mercurial,除了最大的资产外,所有其他都可以正常使用,并且应该使用bigfiles扩展名。
joojaa 2014年

Answers:


21

要记住的一件事是,git在大型仓库或文件中不能很好地工作。

这是一篇有关Facebook为什么使用git进行版本控制的文章。基本上git的伸缩性不够好。

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

git几乎可以处理您向其抛出的任何文件(请参阅二进制diff的说明)

的Photoshop

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

玛雅人

Maya可能会生成太多项目,无法在git中很好地扩展。特别是如果您计划推送到github或gitlab之类的远程平台。

我认识的大多数使用Maya或类似软件的人都将他们的工作保留在网络安装的驱动器上,以仅与几个协作者共享。当一个版本准备发布时,它将呈现并托管在ftp站点上。

其他资源

语义版本控制

/programming/540535/managing-large-binary-files-with-git


太棒了!关于我的系统的版本控制,而不是协作,您是否认为Mercurial会很好地跟踪Maya项目?就像您说的那样,网络驱动器无疑是共享项目的简单方法,是否可以将Mercury用于协作?
Starkers

任何版本控制系统都可能无法处理较大的更改(例如视频或3D模型)。最好的选择可能是退学,只使用版本号(带有语义版本)。作为参考,搅拌机社区有同样的问题blender.stackexchange.com/questions/671/...
spuder

那好吧,公平地说,我会老去。你是什​​么意思wont handle?速度慢,崩溃,数据损坏?
Starkers

每次提交的速度将越来越慢,文件大小将变得非常大。由于所有更改,我已经看到30MB的文件占用了450MB的空间。
spuder

嗯听起来很麻烦。嗯,也许到我有足够的经验领导团队时,事情就会出现!
Starkers

2

我也有这个问题很久了。做了大量的研究,并且有一些选项可用于对图形资产进行版本控制。其中一些需要您自己的服务器(某些需要您专门运行Windows服务器),而某些则可以托管在第三方服务器上。我最喜欢的(尽管并不完全令人满意)是Pixelnovel的时间轴

关于Timeline,这里也有类似的问题。

以我的经验,您应该确保所有协作者都使用相同版本的软件(时间轴和PS / AI / Maya),较旧版本的PS要求您运行较旧版本的时间轴,但无法处理工作树的方式与最新版本相同。

我还使用常规的Subversion(无GUI)对大型图形资产进行了版本控制,我发现如果您可以使用该终端,那还不是很糟糕。当然,使用二进制文件无法进行诸如合并,冲突之类的操作,但是至少您可以获得带有结构化日志的简洁版本管理。同样,使用SVN,您可以在使用文件时锁定文件(时间轴为您完成)。

我宁愿不要在图形上使用git(尽管我对非二进制文件使用git),并且spuder提出的观点非常有效。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.