Ну для бинарного файла, если нет отдельной мержилки (как например в UE4), то мерж сводится к выбору "чьи изменения затереть".
Обычно договаривались заранее кто что бинарное будет править (благо этого было немного), но если все таки происходил конфликт, то договаривались, чьи изменения будут перезаписаны и перезаписывали.
Перезаписывали через инструменты гита 'Resolve Using Mine' и 'Resolve Using Theirs'.
Это круто, если вам никогда в жизни не понадобятся эти команды. А если когда-то понадобятся, то имейте ввиду, что при ребейзе 'theirs' и 'mine' поменяны местами, хотя в графических инструментах могут быть верными. Например, какое-то время назад в TortoiseGit эти пункты делали вещи обратные тем, что было в консоли (что было с одной стороны более интуитивно для тех кто не пользовался консолью, но с другой стороны контринтуитивно для тех кто до этого с консолью работал).
Ну и на всякий случай уточню, если кто не догадался: Если при ребейзе происходит перезапись файла в пользу той версии, которая уже присутствовала ранее в ветке, то новая версия пропадает из истории (в отличие от мержа, где файл остался бы в ветке). Вернуть в историю 'потерянную' версию можно через reflog и cherry-pick.
Вот моя коротенькая и возможно не очень понятная инструкция как это сделать (нужно выбрать русскую версию сайта, если кинет на англ.):
http://ruwhynot.com/2014/10/14/recovering-lost-files-via-git-reflog/