Comprimir files JS / CSS en implementación usando Git

Soy un poco nuevo en git. Además, este es mi primer proyecto en el que estoy automatizando el process de implementación. Hasta ahora, ha sido una bendición poder hacer git push dev y tener files cargados, files de configuration copydos, etc.

Ahora quiero minificar los files JS / CSS cuando presiono mi server de desarrollo. Estaba pensando en instalar una herramienta de command-line en el server para minificar y para cada file js / css en cierta carpeta, comprimir y save, en un gancho git posterior a la recepción.

¿Es este un buen enfoque? (porque he leído sobre cómo agregar files comprimidos al repository y otras ideas de las que no estoy muy convencido)

De ser así, ¿qué herramientas son mejores para la tarea?

http://git-scm.com/book/ch7-2.html

Supongo que nunca hará un commit en el server, es decir, el server se usará solo para realizar el checkout maestro actualizado y nunca actualizarlo. Este truco miniaturizará automáticamente cualquier file * .css en el process de pago:

 # within repo $ echo '*.css filter=minify' >> .git/info/attributes $ git config filter.minify.clean cat $ git config filter.minify.smudge minify-command 

Donde minify-command debería ser el command que minimiza los files * .css, es decir

 $ cat foo.css | minify-command > foo-minified.css 

¿Está cerca de lo que quieres?

Al reescribir los files en dev y no tener los files minificados en su repository local, los dos repositorys estarán siempre desacoplados entre sí.

Es posible que desee volver a pensar en la forma en que implementa su sitio a dev, en lugar de presionar a dev, es posible que desee utilizar el desarrollador de un repository de prestigio, por ejemplo.

Tal vez esté buscando agregar un gancho posterior a la salida (o tal vez sea otro gancho, de acuerdo con su sistema de implementación), y luego inicie con eso el script que minimizará sus files.

También puede usar el gancho para verificar la date de modificación de los files en cuestión antes de hacer eso