¿Puedo usar git para controlar archivos de versión de archivos psd y proyectos maya?


14

He tenido un gran éxito con git, control de versiones, compartir y colaborar en mis proyectos de programación, y me encantaría hacer lo mismo con los proyectos de Photoshop .psd, Illustrator .aiy Maya. Maya, como ya sabrá, es un brillante kit de modelado y renderizado 3D, pero sus proyectos se guardan como un marco de programación, con varios directorios para imágenes y texturas de origen y similares.

configuración de estructura de directorio predeterminada

¿Es una práctica de la industria usar git a este respecto? ¡Sería increíble abrir una película 3D o los archivos 3D de un juego en github!

Obviamente, todos los archivos son solo números, por lo que, en teoría, git estaría bien solo actualizando las partes de los archivos binarios .jpegs o maya que han cambiado, pero ¿crees que en realidad esto podría causar corrupción y lágrimas en los datos? Como digo, me gustaría hacer lo mismo con los archivos de Photoshop e Illustrator.

Si git no es una opción, ¿de qué otra forma debería versionar, colaborar y abrir proyectos de maya y adobe de código abierto?


Tactic es una opción de código abierto para el control de versiones de archivos de activos 3D. Personalmente, uso Dropbox en mi flujo de trabajo.
John

Yo uso Mercurial, funciona bien para todos, excepto para los activos más grandes, y esos deberían usar la extensión de archivos grandes.
joojaa

Respuestas:


20

Una cosa a tener en cuenta es que git no funciona bien con repositorios o archivos realmente grandes.

Aquí hay un artículo sobre por qué Facebook no está usando git para su control de versiones. Básicamente, git no escalaba lo suficientemente bien.

Github tiene una buena explicación de las limitaciones de git aquí:

git puede manejar casi cualquier archivo que le arrojes (ver una explicación de diferencias binarias )

Photoshop

No debería tener problemas para usar git para versionar un archivo de Photoshop. (Suponiendo que son relativamente pequeños)

maya

Maya probablemente genera proyectos demasiado grandes para escalar bien en git. Especialmente si planeas presionar a un control remoto como github o gitlab.

La mayoría de las personas que conozco que usan Maya o un software similar mantienen su trabajo en una unidad montada en red para compartir con solo un par de colaboradores. Cuando una versión está lista para su lanzamiento, se procesa y se aloja en un sitio ftp.

Recursos adicionales

Versiones Semánticas

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


¡Increíble! Con respecto a las versiones en mi sistema, en lugar de la colaboración, ¿crees que Mercurial se mantendría bien para realizar un seguimiento de un proyecto maya? Si bien, como usted dice, las unidades de red son sin duda una forma simple de compartir un proyecto, ¿podría Mercurial utilizarse para la colaboración?
Starkers

cualquier sistema de control de versiones probablemente no manejará grandes cambios (como video o modelos 3d). La mejor opción probablemente sea ir a la vieja escuela y solo usar números de versión (con versiones semánticas). Como referencia, la comunidad de blender tiene el mismo problema blender.stackexchange.com/questions/671/… )
spuder

Ah, está bien, entonces, lo suficiente como para ir a la escuela vieja. ¿A qué te refieres con ser wont handlepor cierto? Aplastantemente lento, accidentes, corrupción de datos?
Starkers

Cada confirmación será cada vez más lenta y el tamaño del archivo crecerá muy, muy grande. He visto que un archivo de 30 MB ocupa 450 MB debido a todos los cambios.
Spuder

Hmm suena a mucha molestia. Ah, bueno, ¡tal vez surja algo cuando tenga la suficiente experiencia como para dirigir un equipo!
Starkers

2

He tenido este problema durante mucho tiempo también. Hice bastante investigación y hay algunas opciones para controlar la versión de sus activos gráficos. Algunos de ellos requieren su propio servidor (algunos requieren que ejecute específicamente el servidor de Windows) y otros pueden alojarse en un servidor de terceros. Mi favorito (aunque no completamente satisfactorio) fue Timeline de Pixelnovel.

Hay una pregunta similar aquí sobre Timeline .

En mi experiencia, debe asegurarse de que todos sus colaboradores estén usando la misma versión del software (tanto Timeline como PS / AI / Maya), las versiones anteriores de PS requieren que ejecute una versión anterior de Timeline que no maneja el árbol de trabajo de la misma manera que en las versiones más actualizadas.

También he controlado la versión de grandes activos gráficos con Subversion regular (sin GUI) y descubrí que no estaba tan mal si estás de acuerdo con usar el terminal. Por supuesto, cosas como la fusión, los conflictos, etc. no son posibles con los archivos binarios, pero al menos obtienes una administración de versiones ordenada con un registro estructurado. Además, con SVN puede bloquear un archivo mientras trabaja con él (que Timeline lo hace por usted).

Prefiero no usar git con gráficos (aunque lo hago para no binarios) y los puntos hechos por Spuder son muy válidos.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.