Во-первых, двоичные файлы не лучше управляются в VCS;)
Во-вторых, если вам необходимо, вы можете установить хук на удаленном репо для выполнения сквоша при получении определенного коммита (например, толчок, не содержащий ничего, кроме специального файла, подтверждающий, что все предыдущие коммиты могут быть раздавлены).
Я не уверен насчет точной реализации, но, похоже, любое решение, включающее git squash, должно было бы иметь место как локально, так и на удаленной стороне, чтобы обеспечить похожую историю.
И это было бы очень безопасно, если бы в указанном удаленном хранилище были другие коммиты от других участников. Тогда историю будет невозможно правильно синхронизировать между вашим локальным репо и тем, что было бы сделано на удаленной стороне ...
Единственный другой способ действия после такого специального нажатия, за которым следует сквош на удаленной стороне, - это переименовать текущую ветвь и вытянуть удаленную ветвь, чтобы сбросить локальную версию упомянутой ветки на то, что находится на удаленной стороне. .