Имеет ли смысл использовать систему управления версиями для управления графическими файлами (напримерФайлы PSDS и AI)

StackOverflow https://stackoverflow.com/questions/19835233

Вопрос

Конечно, инструменты управления версиями, такие как Git, (Mercurial, SVN и т.д.) могут отлично справляться с управлением исходным кодом.Но мне интересно, дают ли эти инструменты разработчику какие-либо преимущества при использовании для хранения копий файлов, таких как PSD-файлы PhotoShop и файлы искусственного интеллекта Illustrator?Имеет ли смысл использовать эти инструменты с файлами такого типа?Буду ли я хранить в репозитории меньше, чем сумма размеров файлов всех этих файлов?Несмотря на то, что формат файла этих файлов доступен только для машинного чтения, я ожидал бы, что в таких приложениях, особенно при работе с векторной, а не растровой графикой, небольшая часть эти файлы изменились бы, а большая часть остального осталась бы прежней.

Спасибо вам за вашу проницательность.

Это было полезно?

Решение 2

Хотя это очень самоуверенная проблема, я бы сказал, нет - по крайней мере, для GIT.

  • GIT не был создан в качестве решения для хранения.
  • Там нет способа объединить файлы изображений.
  • Следовательно, филиалы не имеют смысла - если единственный способ объединить эти ветви - это выбрать правильную версию, вам лучше сразу заменить файл.
  • Инструменты GIT GUI уступают консоли и не просты. Вы хотите научить свою художественную команду, в чем разница между коммитом и толчком?
  • Когда вы зарегистрируетесь git Repo, вы оцениваете Вся история Из всех файлов, начиная с начального коммита. Если вы работаете над двоичными файлами достаточно долго, размер станет огромным.
  • Многие сайты хостинга GIT, такие как GitHub, имеют ограничения на отдельные размеры файлов.

Я думаю, что вам намного лучше с Dropbox.

Другие советы

Сам Git может управлять любыми данными, при условии, что они не слишком велики или слишком многочисленны.
Видишь "git с большими файлами" ("большой" по размеру или номеру).

Функция Differenting pictures / graphics не поддерживается Git изначально, но служба хостинга репозиториев Git может расширить свой веб-графический интерфейс, чтобы предложить такую поддержку.

Только что анонсированный GitHub (июнь 2014) "Просмотр ePSD и различия", который расширяет их " просмотр изображений и различение" (ноябрь.2011)

Любые PSD-ресурсы в ваших репозиториях будут обрабатываться так же, как изображения, что означает, что вы можете просматривать их встроенно и использовать наши три режима просмотра изображений, чтобы увидеть, что изменилось при фиксации.

Обновление Mach 2022:это больше не поддерживается.
Видишь "Работа с файлами, не содержащими код" для файлов, для которых поддерживается diff.

https://cloud.githubusercontent.com/assets/2546/3165594/55f2798a-eb56-11e3-92e7-b79ad791a697.gif

У тех, кто отвечает «нет», есть очень веские причины, но это не невозможно.

Я успешно использую GitHub для управления Проект с открытым исходным кодом состоящий из сотен файлов иллюстраторов и PDF (а также некоторого кода и текста, но это крошечный всплеск по сравнению). Репо выходит около 8 ГБ. Причина, по которой я делаю что -то настолько безумное, заключается в том, что файлы иллюстраторов являются ядром продукта, а не просто декоративные произведения искусства, чтобы согласиться с ним - они - это источник из проекта - и потому что я хотел убедиться, что он останется с открытым исходным кодом.

Там были некоторые точки прилипания, и вещи, о которых нужно знать. Я бы предложил:

  • Не пробуйте это, если вы не знакомы с GIT. Решение конфликтов и проблем с ветвлениями может стать очень шикарным, и вам, возможно, придется сделать несколько довольно целесообразных, чтобы сохранить репо. Никто не ожидает, что вы узнаете каждый уголок GIT (я не уверен, что здравомыслящий человек может), но знаете достаточно, чтобы вы могли Google Olte.

  • Убедитесь, что вам удобно использовать GIT в командной строке. Инструменты GUI могут защитить вас от сложности, но они также мешают вам полностью понять, что происходит под обложками. Как только вы получите это понимание, вы можете использовать графический интерфейс в 95% случаев.

  • Избегайте ветвления, если это возможно. Двоичные файлы не объединяют, как это делает код, поэтому объединение филиалов может стать грязным и трудоемким.

  • Узнайте о конкретных функциях GIT, которые могут помочь вам управлять размером и сложностью репо: частичные заказа, теги, git gc, так далее

  • Потратьте время, чтобы планировать заранее. Возможно, вы получите выгоду от разделения проекта на два или более репо git или сочетать его с другой услугой.

  • Если вы используете услугу хостинга, убедитесь, что вы знаете, какие ограничения они налагают на репо. Например, GitHub будет жаловаться на файлы более 100 МБ. Вот их рекомендуемые рекомендации для двоичных файлов.

Нет, я бы не рекомендовал использовать GIT, SVN и т. Д. Для отслеживания версий. Удивительное количество строк изменится между едва измененными версиями Adobe Files - см. Смотрите, проведя сравнение Diff. Это особенно верно, когда такие параметры, как сжатие собственного файла, включены в Illustrator.

Используя слои, ссылки и сохранение вехой версий файлов, вы будете иметь гораздо более эффективное использование хранилища, чем SVN когда -либо дали вам для собственных файлов Adobe.

Единственное исключение, о котором я могу придумать, для файлов на основе XML, таких как SVG Pure Vector.

Если вам просто нужно простое управление версиями с простом пользовательским интерфейсом, Subversion довольно хорошо работает для управления этими файлами. Он имеет хорошую поддержку GUI (EG SmartSVN или TortoisesVN) с интеграцией оболочки. Также гораздо проще выборочно проверить только необходимые файлы.

Для всех вас указывают, что размер файлов является большой проблемой, Git-lfs приходит, чтобы решить эту проблему.

Это легко установить и использовать, а также популярные платформы, такие как GitHub, Гитлаб или же Битбакет Поддержите его без каких -либо проблем.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top