[Git] .git/hooks/pre-commit をスキップしてコミットする
git commit の前に実行されるフックを .git/hooks/pre-commit に 定義しているのですが、たまに無視して commit したいことってありませんか?
pre-commit hook をスキップしてコミットする option
# 長い option git commit --no-verify # 短い option git commit -n |
例えば pre-commit hook を無視して git commit したいシチュエーションとしては、行末に whitespace があると commit させない hook を定義していた場合、既存コードで該当箇所が存在すると hook に引っ掛かってしまいます。
下記のようなケースです。
この例は記事上で見ると分かりにくいのですが var express = require(“express”); の末尾に半角スペースが含まれてしまっています。
$ git diff --cached diff --git a/hoge.js b/hoge.js new file mode 100644 index 0000000..8504c82 --- /dev/null +++ b/hoge.js @@ -0,0 +1 @@ +var express = require("express"); $ git commit hoge.js:1: trailing whitespace. +var express = require("express"); # -n を付ければ pre-hook をスキップして commit できます $ git commit -n |
たまに pre-hook をスキップしたくなることがあるので、覚えておくと git commit が捗りそうです。