Git pre-commit gancho

Soy nuevo en git hooks. No puedo entender debajo del gancho de pre-commit. Alguien puede decirme cómo funciona esto, por favor. Aquí mi duda es cómo ocurrirá el grep en los archivos comprometidos, ya que no los estamos llevando a ningún lado. Lo siento si estoy haciendo una pregunta incorrecta, pero por favor, ayúdame a entender los ganchos de Git.

#!/usr/bin/env ruby
if `grep -rls "require 'ruby-debug'; raise" *` != ""
  puts "You twit, you've left a debugger in!"
  exit(1)
end

Respuestas a la pregunta(1)

Su respuesta a la pregunta