Я бы порекомендовал не смешивать двоичные файлы, в частности, с DVCS (например, git и Mercurial). Основная причина: любые не объединяемые файлы являются проблемой для DVCS. DVCS в основном полагается на высококачественные слияния файлов для реализации концепции DVCS (см. это обсуждение двоичных файлов в git ).
Я согласен, что двоичные файлы стоит хранить. Но они, вероятно, должны храниться в другом месте, чем ваша исходная система контроля версий. Возможно, сервер с контролируемым доступом для записи. Возможно, отдельный централизованный репозиторий VCS, такой как Subversion, если вы хотите сохранить всю историю.
Чтобы такое разделение не было «неловким и подверженным ошибкам», как вы говорите, постарайтесь максимально автоматизировать его. Создайте автоматизированную процедуру сборки, которая гарантирует, что источник версионируется / помечается, выполняет полную сборку и помещает выходные данные (с правильными именами, версией, помеченными и т. Д.) В назначенное хранилище.