У нас есть ветвь master
, в которой живет выпущенный производственный код, ветвь dev
, в которой живет код для тестового сервера, и различные ветви функций (разветвленные от master
), по желанию каждого разработчика.
Со временем ветвь dev
несколько отклонилась от master
.Кроме того, там есть некоторые неправильные слияния, которые портят части кода.Уже несколько раз мы пытались сбросить (принудительное нажатие) dev
так же, как master
.Начать все с чистого листа, так сказать.
К сожалению, это не длится долго.Рано или поздно кто-то сливает старый dev
в новый dev
, возвращая ему всю путаницу.Я подозреваю, что это может даже произойти автоматически, когда наивный git pull
молча объединяет старые и новые заголовки веток.
Можно ли предотвратить это с помощью ловушки фиксации на стороне сервера?Что-то, что откажется принять git push
, если в него будет вставлен неправильный коммит?