Я смотрю на крючок git, который ищет инструкции печати в коде Python. Если найден оператор печати, он предотвращает фиксацию git.
Я хочу переопределить этот крючок, и мне сказали, что есть команда для этого. Я не смог его найти. Любые мысли?
Я смотрю на крючок git, который ищет инструкции печати в коде Python. Если найден оператор печати, он предотвращает фиксацию git.
Я хочу переопределить этот крючок, и мне сказали, что есть команда для этого. Я не смог его найти. Любые мысли?
Может быть (из страницы руководства git commit
):
git commit --no-verify
-n
--no-verify
Эта опция обходит хуки pre-commit и commit-msg. Смотрите также githooks (5).
Как прокомментировал Блейз, -n
может играть различную роль для определенных команд.
Например, git push -n
на самом деле является пробным толчком.
Только git push --no-verify
может пропустить крючок.
Примечание: Git 2.14.x/2.15 улучшает поведение --no-verify:
См. коммит 680ee55 (14 августа 2017 г.) от Кевина Уилфорда ('').
(Merged by Junio C Hamano -- [TG45] -- in commit c3e034f, 23 Aug 2017)
commit
: пропустить сброс индекса, если нет ловушкиpre-commit
"
git commit
" используется для удаления индекса и повторного чтения из файловой системы на всякий случай хукpre-commit
обновил его посередине; это был оптимизирован, когда мы знаем, что не запускаем ловушкуpre-commit
.
Дави Лима указывает в комментариях, что git cherry-pick
не поддерживает --no-verify.
Поэтому, если вишневый выбор запускает ловушку перед фиксацией, вам, как и в этом сообщении в блоге, нужно каким-то образом комментировать/отключать этот ловушку для продолжения вашего git cherry-pick.
Тот же процесс будет необходим в случае git rebase --continue
после разрешения конфликта слияния.
От man githooks
:
перед фиксацией
Этот hook вызывается git commit и может быть обойден с помощью опции -no-verify. Это не принимает параметр и вызывается перед получением предлагаемого сообщения журнала фиксации и совершение фиксации. Выход из ненулевого состояния из этого script вызывает git совершить прервать.
Я хочу сделать это, немного с git commit --amend
так что-то вроде git commit --amend --no-verify, но это просто создает новый коммит