1. ホーム
  2. git

[解決済み] Git のコミットフックをスキップする

2022-03-18 07:33:33

質問

Pythonのコードでprint文を探すgitフックについて調べています。 もしprint文が見つかったら、gitのコミットを阻止します。

このフックをオーバーライドしたいのですが、そのためのコマンドがあるとのことでした。 それを見つけることができません。 何かいい方法はないでしょうか?

解決方法を教えてください。

もしかしたら(から git commit マンページ ):

git commit --no-verify -m "commit message"
           ^^^^^^^^^^^
-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 (2017年8月14日)による ケビン・ウィルフォード (``) .
(によって統合されました。 ジュニオ・C・ハマノ--。 gitster -- コミット c3e034f , 2017年8月23日)

<ブロッククオート

commit がない場合は、インデックスの破棄をスキップします。 pre-commit フック

" git commit インデックスを破棄し、ファイルシステムから再読み込みするために使用されます。 万が一 pre-commit フックが途中で更新してしまったのですが、これは を実行しないことが分かっている場合は、最適化されています。 pre-commit フックを使用します。


ダヴィ・リマ ポイント コメントにて git cherry-pick が行う ではない は --no-verify に対応しています。
チェリーピックがプリコミットフックをトリガーする場合、次のようになります。 このブログの記事 を実行するには、そのフックに対して何らかのコメントや無効化を行う必要があります。

の場合にも同様の処理が必要になります。 git rebase --continue を、マージのコンフリクト解消後