Непрерывная интеграция с Git

Я хотел бы обеспечить интеграционные хуки поверх Git, чтобы толчки отклонялись, когда интеграция не удалась. Например, когда разработчик вносит свои изменения, я хотел бы убедиться, что проект все еще успешно компилируется.

В настоящее время я установил хук после обновления для проверки компиляции. Однако, когда я хочу отклонить толчок, я отменяю изменения и информирую разработчика об этом:

git revert --no-edit HEAD
echo "Rejected !"

Моя проблема в том, что, когда другой разработчик хочет выдвинуть свои изменения, он должен сначала вытянуть, таким образом, переопределяя свою работу, а затем должен выполнить болезненные команды reset / stash для правильного объединения.

Более того, возврат не будет работать в случае слияния веток (для которого нужна опция -m)

Мой текущий обходной путь заключается в том, что вместо возврата на сервер я объединяю изменения в другой ветке (которая является исходной по умолчанию для моих разработчиков):

git checkout integrated
git merge master

Каков наилучший подход для достижения этой цели?

Ответы на вопрос(1)

Ваш ответ на вопрос