Пропустить крючки фиксации Git


Я смотрю на крючок git, который ищет операторы печати в коде Python. Если оператор печати найден, он предотвращает фиксацию git.

Я хочу переопределить этот крючок, и мне сказали, что есть команда для этого. Я не смог его найти. Есть мысли?

2 266

2 ответа:

может быть (от git commit на странице):

git commit --no-verify

-n  
--no-verify

этот параметр обходит предварительно совершали и совершаем-МСГ крючки. Смотрите также githooks(5).

как прокомментировал by Блез,-n может иметь различную роль для определенных команд.
Например, git push -n на самом деле сухой-выполнить толчок.
Только git push --no-verify пропустить крюк.


Примечание: Git 2.14.x / 2.15 улучшает -- no-verify поведение:

посмотреть совершить 680ee55 (14 Авг 2017) by Кевин Willford (`).
(слитый Junio C Hamano--gitster-- на commit c3e034f, 23 авг 2017)

commit: пропустить отбрасывание индекса, если нет pre-commit крючком

"git commit " используется для удаления индекса и перечитывать из файловой системы на всякий случай pre-commit крюк обновил его в середине; это была оптимизирована, когда мы знаем, что мы не запускаем pre-commit крюк.

С man githooks:

pre-commit
Этот крючок вызывается git commit и может быть обойден с параметром --no-verify. Оно не принимает параметр и вызывается перед получением предложенного сообщения журнала фиксации и сделать коммит. Выход с ненулевым статусом из этого скрипта вызывает git совершить аборт.