Если у Вас есть проблемы со стандартным CD, просто используйте альтернативный CD.
Именование файлов должно осуществляться в соответствии с соглашением об именах.
{name}-{mod type}-{size}-{version}-{create date}.png
{name}-final.png
e.g.
file-white_balance-800x600-v01-20090831.png
file-white_balance-800x600-v02-20090831.png
file-final.jpg
реальный смысл состоит в том, чтобы создать согласованное соглашение, которое люди увидят в следующем (однако для вашей группы необходимо простое / сложное). В моей организации мы делаем это для файлов ввода / вывода, изображений, сценариев и т. Д. (Не обязательно одно и то же соглашение для всех, но они следуют чему-то, о чем было согласовано)
Надеюсь, что это поможет.
Вы можете просто поместить свои изображения в систему контроля версий.
Это обработает историю изменений и примечания. Если вам действительно нужно хранить все переходные версии изображения и вы не хотите, чтобы это было в папке вашего проекта, в большинстве деревьев управления версиями есть область «инструментов» для этого типа вещей.
EDIT: Если вам нужно отслеживать различные размеры (эскизы и т. Д.), Я бы пошел с соглашением по настройке и реализовал единую систему именования файлов (или каталогов).
Например, у меня, вероятно, были бы отдельные папки для версий одного и того же изображения размером 100 пикселей и 500 пикселей. Или, может быть, я бы поместил их в одну папку со специальным соглашением об именах: logo-100.jpg и logo-500.jpg ... В любом случае, вероятно, все в порядке, просто примите решение и будьте последовательны на протяжении всего проекта. .
И последнее: некоторым нравится включать в имя файла тонну метаданных. Для меня это зависит от объема вашей деятельности и ваших индивидуальных потребностей. Я лично по умолчанию выбрал бы подход «меньше - лучше» - если вы думаете об инвестировании в поддержание чего-то подобного (или создание инструмента, который сделает это за вас), убедитесь, что это действительно чистая выгода времени, а не просто что-то для вашего ОКР!
Как разработчики, мы действительно склонны делать вопиющие ошибки в этой области. Я знаю, что был виноват несколько раз.
Я очень стараюсь иметь только одно "исходное" изображение, а затем вливаю все изменения в короткий скрипт Python или какой-либо другой фрагмент кода, чтобы я мог воссоздать эффекты и / или настроить их в любое время позже.
Исходное изображение сохраняется в формате PNG или TIFF (чтобы избежать потери качества из-за сохранения) и конвертируется в окончательный тип на самом последнем этапе. В то же время я выполняю масштабирование и другие операции с потерями.
Мы разработали загружаемую и веб-игру с несколькими сотнями графических ресурсов, большинство из которых во время разработки хранилось в виде файлов psd. Нам потребовались версии jpg и png для релизной версии игры и версии jpg и png более низкого качества для веб-версии.
Мы проверили оригиналы в системе управления версиями для управления версиями.
Чтобы оставаться гибкими и иметь возможность изменять оригинал без необходимости повторной упаковки изображения дважды после каждого обновления, у нас был сценарий Perl / ImageMagick, который автоматически обновлял упакованные изображения.
Имя файла оставалось прежним, но сжатые изображения попадали в разные каталоги, в зависимости от того, для какой версии игры было упаковано каждое изображение.
Обычно название изображения и разрешение добавляются вместе к имени.
myimage_800_600.png
таким образом все похожие изображения группируются вместе в представлении папки, и вы можете легко выбрать нужный размер без необходимости блуждать, что означает «средний».
Я согласен с тем, что управление исходным кодом может быть вашим лучшим выбором для этого. Однако обычная система управления версиями на самом деле не подходит для изображений.
Вы смотрели http://www.alienbrain.com ?
Он коммерческий, но может быть чем-то, что может помочь. Я также искал и увидел кое-что о Photoshop или Imageready, в которых тоже есть контроль версий. Вы можете это изучить.
Я собрал все кусочки и кусочки из различных ответов для системы, которая соответствует моим потребностям: