Пропустити гачки для фіксації


503

Я дивлюся на гак git, який шукає друковані виписки в коді Python. Якщо буде виявлено друкований вислів, це перешкоджає вчиненню git.

Я хочу змінити цей гачок, і мені сказали, що для цього є команда. Я не зміг його знайти. Будь-які думки?


1
Більш загальне рішення (також працювати для команд git, відмінних від commit): stackoverflow.com/questions/58337861/…
Габріель

Відповіді:


866

Можливо (зі git commitсторінки людини ):

git commit --no-verify

-n  
--no-verify

Цей параметр обходить гачки попереднього фіксації та фіксації. Дивіться також ґіточки (5) .

Як зазначив на Блейз , -nможе мати різну роль для деяких команд.
Наприклад, git push -nце насправді сухий поштовх.
Тільки git push --no-verifyпропустив би гачок.


Примітка: Git 2.14.x / 2.15 покращує поведінку, що не підтверджується:

Див. Запис 680ee55 (14 серпня 2017) Кевіна Вілфорда (``) .
(Об’єднав Хуніо С Хамано - gitster- у комітеті c3e034f , 23 серпня 2017 р.)

commit: пропустити, відкинувши індекс, якщо немає pre-commitгака

" git commit" використовується для відмови від індексу та перечитування з файлової системи на випадок, якщо pre-commitгачок оновив його посередині; це було оптимізовано, коли ми знаємо, що не запускаємо pre-commitгачок.


Тисни Ліма вказує в коментаряхgit cherry-pick ніяк НЕ підтримує --no-перевіряй.
Отже, якщо вишневий вибір запускає гачок, який попередньо здійснює, ви, можливо, як і в цій публікації в блозі , вам доведеться якось коментувати / відключати цей гачок, щоб продовжити ваш вибір вишні.
Такий самий процес буде необхідний у випадку git rebase --continueпісля, після вирішення конфлікту об'єднання.


1
Переглянути вишню можна на веб-сайті web-dev.wirt.us/info/git-drupal/git-continue-vs-no-verify
Даві Ліма

1
@DaviLima Дякую Я включив ваш коментар у відповідь для наочності.
VonC

1
дякую, @Vonc. те ж саме відбувається і з git rebase --continuebtw
Davi Lima

Привіт, у моєму випадку хтось із моєї команди постійно оновлює мою hookпапку деякими сценаріями попереднього фіксації, це так дратує, чи є спосіб я перешкодити моїй hookпапці перекрити потягнення git?
Zennichimaro

@Zennichimaro Можливо, ви можете скопіювати цю папку для повторного з’єднання в іншому місці та встановити гачок після злиття ( git-scm.com/docs/githooks#_post_merge ), який визначить, чи тягне вплив на папку гачка repo, і запропонує скопіювати її вміст у вашій локальній папці з гачками (за межами репо): таким чином ви можете принаймні контролювати, чи хочете ви скасувати ваші гачки чи ні тим, що підштовхують ваші колеги.
VonC

22

Від man githooks:

попередня фіксація
Цей гачок викликається git commit, і його можна обійти за допомогою параметра --no-verify. Він не приймає жодних параметрів і викликається перед отриманням запропонованого повідомлення журналу фіксації та здійсненням зобов’язання. Вихід із ненульового статусу з цього сценарію призводить до припинення дії git.


2

Для тих, very beginnersхто витратив кілька годин на цю поступку (з commentі no verify), без жодних питань

git commit -m "Some comments" --no-verify
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.