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?

Starkers
fonte
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

spuder
fonte
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.

miphe
fonte