Я думаю, что ответ Эбнетера имеет некоторые достоинства.
Самое сложное в использовании git - отучить вредные привычки от всех остальных SCM. Похоже, что ваши разработчики нуждаются в надлежащем обучении рабочего процесса. Это также потребует от вас времени, чтобы понять, почему они сопротивляются проверке кода.
Например, это может быть случай, когда они просто против совершения испорченного кода. С git это не проблема, если они не помещают код в публичный репозиторий общей ветки. Затем вам также нужно научить их, как использовать rebase для объединения локальных коммитов, когда они будут готовы опубликовать его.
Во-вторых, поскольку локальные коммиты не резервируются, у вас все еще есть проблема потери данных. (Конечно, это предполагает, что остальные их файлы не резервируются, но выходят за рамки этого вопроса.)
Одним из решений было бы позволить вашим разработчикам отправлять свои экспериментальные ветки в общедоступный репозиторий, тогда, если что-нибудь случится, коммиты безопасны. Обязательно используйте соглашение об именах филиалов для публичного репо, чтобы не возникало конфликтов имен филиалов.