Предполагая, что вы используете централизованное удаленное репо, надежный способ сделать это - подключить к удаленному каналу предварительный прием, который может отклонить попытки сделать pu sh удаленным, если они содержат коммиты, которые делают несанкционированные изменения.
Конечно, это не мешает людям тратить свое время впустую, внося локальные изменения, которые должны быть отклонены при нажатии. Так что вы можете захотеть также иметь ловушку перед фиксацией, которую каждый разработчик может установить локально для выполнения той же проверки и выявления ошибок ранее.
Документация для ловушек находится здесь: https://git-scm.com/book/en/v2/Customizing-Git-Git-Hooks