binding.pryがあったらコミットを中止する

ばいんでぃんぐぷらい便利ですね。

コミットすると、binding.pryがコミット予定のファイルに含まれていれば、コミットを中止すフックスクリプトを書きました。.git/hooks/pre-commitにコピペしてお使いください。ハードコーディングしちゃってるんで、適当に修正するといいですね。

gistにもあげてるので、forkなんかしてもらえるといいですね。
https://gist.github.com/2970881

#!/usr/bin/env ruby

cached_files = `git diff --cached --name-only`
if cached_files.split($/).any? {|path| File.read(path).include?('binding.pry') }
  puts 'ERROR: binding.pry is found'
  exit 1
end
  • #!/usr/bin/env rubyはrvmのrubyを使う場合のshebang
  • git diff --cachedでコミット予定のファイルの差分とってこれる
  • --name-onlyでファイル名だけとってこれる
  • $/は区切り文字