Git: Ejecutar a través de un filter antes de comprometer / empujar?

¿Hay alguna forma de ejecutar los files modificados a través de un filter antes de realizar la confirmación? Deseo asegurarme de que los files siguen los estándares de encoding para el proyecto.

También me gustaría comstackr y ejecutar algunas testings antes de que realmente tenga lugar el commit / push, así que sé que todo en el reposo realmente funciona.

Pre-commit hooks. Lea sobre los ganchos git . El Libro de Git tiene un ejemplo de cómo escribir un script de Ruby para ejecutar testings de RSpec, por ejemplo.

Simplemente guarde el ejecutable como .git / hooks / pre-commit – usando un hashbang para especificar el idioma. Es solo un script de shell normal, aunque puede usar cualquier lenguaje de scripting, siempre y cuando devuelva 1 si hay un problema y 0 si no lo hay.

Para la parte de filter, recomendaría un controller de borrado / borrado , con la secuencia de commands 'borrar' que contiene todo el formatting o la verificación que necesita (ejecución en la confirmación)

controlador de filtro

Puede declarar este controller de filter de atributo git solo para ciertos types de files, solo para ciertos directorys dentro de su repository.