2016-05-04 2 views
2

Я создал git pre-push hook, который создает мое .NET-решение и запускает модульные тесты. Таким образом, выполнение команды git push запускает сборку/тесты перед тем, как нажимать код на исходный код.Параметры передачи для git pre-push hook

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

В идеале я хотел бы иметь возможность сделать что-то вроде этого:

git push --skip-tests

Однако, это, кажется, не летать, потому что GIT флаги --skip-tests как недопустимый параметр. Есть ли способ, которым я могу передать параметр в крючок из командной строки при нажатии, чтобы я мог разбить логику крюка на основе того, существует или нет этот параметр?

ответ

4

Вы должны пропустить его:

git push --no-verify 

От git push man page

С --no-verify, крючок пропускается полностью.


Однако этот обход не только тесты, но все крюк: строить тоже.

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

skip-test=true git push 
+0

Perfect. Спасибо! В этом конкретном случае обход крючка полностью будет работать, хотя приятно иметь возможность пропускать его части. – Scott

+0

@Scott Я отредактировал ответ, чтобы указать на альтернативу. – VonC

Смежные вопросы