Существует ли хук git, похожий на pre-commit, который будет запускаться для каждого нового коммита, который собирается создать с git rebase? - PullRequest
0 голосов
/ 10 февраля 2020

Контекст:

У меня установлен pre-commit хук для всех моих локальных репозиториев.

По сути, мой хук выполняет все модульные тесты, выходя с 0, когда все тесты пройдены и выход с ненулевым значением, если хотя бы один тест не пройден или если тест не выполняется.

Таким образом, git commit создает фиксацию только тогда, когда все модульные тесты успешны. В противном случае фиксация прерывается, и я должен исправить свой код и / или свои тесты, но я должен выполнить свои тесты, а затем повторить попытку ...

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

Проблема:

Но у меня есть только одна проблема с этой настройкой: git rebase. Я делаю git rebase с моими локальными ветвями.

Когда я перебазирую ветвь, я хотел бы запускать модульные тесты при каждом новом коммите, который вот-вот будет создан. Я не нашел никакой документации по этому конкретному c варианту использования. Я знаю, что хук pre-rebase существует, но он срабатывает только до начала перебазирования, давая возможность отменить его. Он не срабатывает для каждого нового коммита, который будет создан из этой ребаза.

Вопрос:

Есть ли ловушка, или техника, или что-нибудь еще, что может помочь мне автоматизировать процесс перебазирования ветви и одновременно дает мне уверенность в том, что все модульные тесты выполнялись при каждом новом созданном коммите? Он также должен работать с git rebase и git rebase --interactive.

В принципе, я думаю, git rebase должен запускать хук pre-commit, когда он собирается создать новый коммит.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...