Czy mogę używać git do kontroli wersji plików psd i projektów maya?

14

Odniosłem wielki sukces z git, kontrolą wersji, udostępnianiem i współpracą przy projektach programistycznych i chciałbym zrobić to samo z projektami Photoshop .psd, Illustrator .aii Maya. Maya, jak zapewne wiesz, jest genialnym zestawem do modelowania i renderowania 3D, ale jego projekty są zapisywane w pewnym sensie jak platforma programistyczna, z różnymi katalogami dla obrazów źródłowych i tekstur i tym podobnych.

domyślne ustawienia struktury katalogów

Czy w tym względzie stosuje się git? Byłoby niesamowicie otworzyć film 3D lub pliki 3D gry na github!

Oczywiście wszystkie pliki są tylko liczbami, więc teoretycznie git dobrze byłoby zaktualizować tylko te części plików binarnych .jpeg lub mayi, które się zmieniły, ale czy uważasz, że w rzeczywistości spowodowałoby to uszkodzenie danych i łzy? Tak jak mówię, chciałbym zrobić to samo z plikami Photoshop i Illustrator.

Jeśli git nie jest opcją, w jaki sposób powinienem wersjonować, współpracować i projektować maya i Adobe Open Source?

Starkers
źródło
Tactic to opcja typu open source do wersjonowania plików zasobów 3D. Osobiście korzystam z Dropbox w moim przepływie pracy.
Jan
Używam mercurial, działa dobrze dla wszystkich oprócz największych aktywów, a te powinny używać rozszerzenia bigfiles.
joojaa

Odpowiedzi:

20

Należy pamiętać, że git nie działa dobrze z naprawdę dużymi repozytoriami lub plikami.

Oto artykuł o tym, dlaczego Facebook nie używa git do kontroli wersji. Zasadniczo git nie skalował się wystarczająco dobrze.

Github ma dobre wyjaśnienie ograniczeń git tutaj:

git może obsłużyć prawie każdy plik, który do niego wrzucisz (zobacz wyjaśnienie diff binarnego )

Photoshop

Nie powinieneś mieć problemu z użyciem git do wersji pliku Photoshopa. (Zakładając, że są stosunkowo małe)

Maya

Maya prawdopodobnie generuje zbyt duże projekty, aby można je było dobrze skalować w git. Zwłaszcza jeśli planujesz pchanie do pilota takiego jak github lub gitlab.

Większość znanych mi osób, które używają Maya lub podobnego oprogramowania, kontynuują pracę na dysku sieciowym, aby dzielić się nimi z kilkoma współpracownikami. Gdy wersja jest gotowa do wydania, jest renderowana i hostowana na stronie ftp.

Dodatkowe zasoby

Wersje semantyczne

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

spuder
źródło
Niesamowite! Jeśli chodzi o wersjonowanie w moim systemie, a nie współpracę, czy uważasz, że Mercurial byłby w stanie dobrze śledzić projekt Maya? Chociaż, jak mówisz, dyski sieciowe są z pewnością prostym sposobem na współdzielenie projektu, czy można zastosować merkurial do współpracy?
Starkers
żaden system kontroli wersji prawdopodobnie nie poradzi sobie z dużymi zmianami (np. modele wideo lub modele 3D). Najlepszą opcją będzie prawdopodobnie stara szkoła i użycie numerów wersji (z wersją semantyczną). Dla porównania, społeczność Blender ma ten sam problem blender.stackexchange.com/questions/671/… )
spuder
Ach, okej, w porządku, pójdę po stary scool. Nawiasem wont handlemówiąc, co masz na myśli ? Miażdżąco powolny, awarie, uszkodzenie danych?
Starkers
Każde zatwierdzenie będzie coraz wolniejsze, a rozmiar pliku będzie bardzo duży. Widziałem plik 30 MB zajmuje 450 MB z powodu wszystkich zmian.
spuder
Hmm, to trochę kłopotliwe. Ach, może coś się pojawi, zanim będę wystarczająco doświadczony, by kierować zespołem!
Starkers
2

Ten problem też mam od dłuższego czasu. Przeprowadzono sporo badań i istnieje kilka opcji kontroli wersji zasobów graficznych. Niektóre z nich wymagają własnego serwera (niektóre wymagają specjalnego działania serwera Windows), a niektóre mogą być hostowane na serwerze innej firmy. Moim ulubionym (choć nie do końca zadowalającym) była Oś czasu od Pixelnovel.

Jest to podobne pytanie tutaj o osi czasu .

Z mojego doświadczenia wynika, że ​​wszyscy współpracownicy używają tej samej wersji oprogramowania (zarówno Oś czasu, jak i PS / AI / Maya), starsze wersje PS wymagają uruchomienia starszej wersji Oś czasu, która nie obsługuje działające drzewo w taki sam sposób, jak w bardziej aktualnych wersjach.

Kontrolowałem również wersje dużych zasobów graficznych z regularnym Subversion (bez GUI) i stwierdziłem, że nie było tak źle, jeśli nie masz nic przeciwko korzystaniu z terminala. Oczywiście rzeczy takie jak scalanie, konflikty itp. Nie są możliwe w przypadku plików binarnych, ale przynajmniej masz porządne zarządzanie wersjami z ustrukturyzowanym dziennikiem. Ponadto za pomocą SVN możesz zablokować plik podczas pracy z nim (co robi dla Ciebie Oś czasu).

Wolę nie używać git z grafiką (chociaż robię to w przypadku plików innych niż binaria), a punkty wykonane przez Spudera są bardzo poprawne.

miphe
źródło