Posso usar o git para controlar arquivos de versão psd e projetos maya?


14

Tive grande sucesso com o git, controle de versão, compartilhamento e colaboração em meus projetos de programação, e adoraria fazer o mesmo com projetos de photoshop .psd, illustrator .aie maya. O Maya, como você deve saber, é um brilhante kit de modelagem e renderização em 3D, mas seus projetos são salvos como uma estrutura de programação, com vários diretórios para imagens e texturas de origem e afins.

configurações padrão da estrutura de diretórios

É uma prática da indústria usar o git nesse sentido? Seria incrível abrir um filme em 3D ou os arquivos 3D de um jogo no github!

Obviamente, todos os arquivos são apenas números, portanto, em teoria, o git seria bom apenas atualizando as partes dos binários .jpegs ou maya que foram alterados, mas você acha que, na realidade, isso causaria corrupção e lágrimas nos dados? Como eu disse, gostaria de fazer o mesmo com arquivos de photoshop e ilustrador.

Se o git não é uma opção, de que outra forma devo versão, colaborar e abrir projetos maya e adobe?


Tática é uma opção de código aberto para controle de versão de arquivos de ativos 3D. Pessoalmente, uso o Dropbox no meu fluxo de trabalho.
— John John

eu uso mercurial, funciona bem para todos, exceto os maiores ativos, e esses devem usar a extensão bigfiles.
— Joojaa

Respostas:


20

Uma coisa a ter em mente é que o git não funciona bem com repositórios ou arquivos muito grandes.

Aqui está um artigo sobre por que o Facebook não está usando o git para seu controle de versão. Basicamente, o git não era escalável o suficiente.

O Github tem uma boa explicação das limitações do git aqui:

O git pode lidar com praticamente qualquer arquivo que você lançar nele (veja uma explicação do diff binário )

Photoshop

Você não deve ter problemas ao usar o git para fazer a versão de um arquivo do photoshop. (Supondo que eles são relativamente pequenos)

Maya

O Maya provavelmente gera projetos muito grandes para escalar bem no git. Especialmente se você planeja enviar para um controle remoto, como o github ou o gitlab.

A maioria das pessoas que conheço que usam o Maya ou software similar mantém seu trabalho em uma unidade montada em rede para compartilhar com apenas alguns colaboradores. Quando uma versão está pronta para lançamento, é renderizada e hospedada em um site ftp.

Recursos adicionais

Versão semântica

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


Impressionante! Em relação ao controle de versão no meu sistema, em vez da colaboração, você acha que o Mercurial aguentaria bem acompanhar um projeto maya? Embora, como você diz, as unidades de rede sejam certamente uma maneira simples de compartilhar um projeto, o mercurial poderia ser usado para colaboração?
— Starkers

qualquer sistema de controle de versão provavelmente não lidará com grandes alterações (como modelos de vídeo ou 3D). A melhor opção provavelmente será ir para a velha escola e usar apenas números de versão (com versão semântica). Para referência, a comunidade do blender tem o mesmo problema blender.stackexchange.com/questions/671/… )
— spuder

Ah tudo bem então, justo o suficiente eu vou ficar velho. Como assim wont handle, a propósito? Muito lento, falhas, corrupção de dados?
— Starkers

Cada confirmação ficará cada vez mais lenta e o tamanho do arquivo crescerá muito, muito grande. Vi um arquivo de 30 MB ocupar 450 MB por causa de todas as alterações.
— Spuder

Hmm parece muito incômodo. Ah, bem, talvez algo surja quando eu tiver experiência suficiente para liderar um time!
— Starkers

2

Eu já tenho esse problema há muito tempo. Realizamos algumas pesquisas e existem algumas opções para você controlar a versão de seus ativos gráficos. Alguns deles exigem seu próprio servidor (alguns exigem a execução específica do servidor Windows) e outros podem ser hospedados em um servidor de terceiros. O meu favorito (embora não seja totalmente satisfatório) foi o Timeline da Pixelnovel.

Há uma pergunta semelhante aqui sobre tempo .

Na minha experiência, você deve garantir que todos os seus colaboradores estejam usando a mesma versão do software (Timeline e PS / AI / Maya); versões mais antigas do PS exigem que você execute uma versão mais antiga do Timeline que não lide com o trabalhando da mesma maneira que nas versões mais atualizadas.

Também controlei a versão de grandes recursos gráficos com o Subversion regular (sem GUI) e achei que não era tão ruim assim se você estiver bem em usar o terminal. Obviamente, coisas como mesclagem, conflitos etc. não são possíveis com binários, mas pelo menos você obtém um gerenciamento de versão limpo com um log estruturado. Além disso, com o SVN, você pode bloquear um arquivo enquanto trabalha com ele (o que a Linha de tempo faz por você).

Eu prefiro não usar o git com gráficos (embora eu faça para não binários) e os pontos apresentados pelo spuder são muito válidos.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.