Да, иногда есть веские причины держать как генерирующий файл, так и созданный файл под контролем версий. Но, возможно, ваш сценарий не является одним из них, если вы предполагаете, что все разработчики, работающие над проектом, имеют доступ к генератору (очевидно, некоторое программное обеспечение Adobe используется для преобразования файлов *.psd
в файлы *.png
, поэтому это предполагает, что все разработчики имеют доступ к этому программному обеспечению Adobe и могут запускать его из процедуры сборки). Вы также можете сохранить файлы изображений, например, как файлы SVG (отредактировано inkscape).
Хорошие причины для сохранения как генерируемых, так и генерируемых вариантов включают загрузочные системы. Когда вы разрабатываете язык сам по себе, переведенный собственным переводчиком, вам нужно держать оба варианта под контролем версий. Мне известны как минимум два примера: Ocaml, чей байт-код и нативные компиляторы написаны на Ocaml, поэтому (сгенерированная) форма байт-кода компилятора хранится в SVN, и мой GCC MELT , домен высокого уровня конкретный язык для GCC. Транслятор MELT (из MELT DSL в C) кодируется в MELT, поэтому я сохраняю переведенную форму (как сгенерированный код C) под контролем версий вместе с формой исходного кода MELT.