¿Puedo cambiar a otra twig, comprometerme con ella y volver a configurarla en un enganche commit-msg?

Quiero insert los primeros caracteres del hash de confirmación y el post de confirmación automáticamente en un file en la twig gh-pages cualquier momento que me comprometa con el master .

Actualmente usando este gancho post-commit :

 #!/bin/bash #Ensures we are in master branch [ `git rev-parse --abbrev-ref HEAD` != "master" ] && exit 1 git checkout gh-pages git merge master # update the js file with commit identification information from git # I can't seem to get this to work without generating a *_bak file. Whatever. # I have a section in my source that has delimiters #% %# that I use to stuff the # git commit into, so I can view the version of source I am testing on my device # very easily (you can't imagine how much more definite and efficient this is companetworking # to what we do at my work) sed -i _bak "s/#%.*%#/#% `git log master -1 --format="%h %s"` %#/" source.js git commit -a -m"this commit made by a script" git checkout master 

Dudo que convertir esto en un commit-msg me permita networkingucir la cantidad de commits adicionales generados (dos, uno para fusionar el master en gh-pages, y uno para escribir en el commit-msg que usé para el commit maestro en el file) cada vez que realizo un commit en master , pero al less me permitiría omitirlo haciendo un commit -n para --no-verify , mientras que con un hook post-commit tendría que desarmar al ejecutivo marcar en el file hook para deshabilitarlo temporalmente.

¿Esto funciona? Creo que debería intentarlo. Sin embargo, ¿qué hará Git? Siempre que mi secuencia de commands bash emita un valor de retorno de 0, se procederá a realizar la confirmación.

Comprometerse no es el gran problema. Realmente no puedes usar git commit , pero puedes crear un commit utilizando los commands de plomería (que te permite agregar commit a otra twig usando un file de índice separado sin tocar realmente el tree de trabajo). El problema más grande es la fusión , porque puede fallar y dejar el tree en estado que requiere intervención manual.

Si eso no funciona, una solución para tu gancho sería hacer esos mismos commands en un repository local diferente (ya desprotegido en gh-pages ), con las --git-dir y --work-tree en tu git command (para hacer reference a ese otro repository).

Y luego recupera esa twig en tu repository (aún en el mismo gancho).


Actualización de agosto de 2016: la publicación simple de GitHub Pages ahora permite mantener sus files de página en una subcarpeta de la misma twig (no se necesitan más gh-pages ):

Ahora puede seleccionar una fuente en la configuración de su repositorio y las páginas de GitHub buscarán allí su contenido.

Entonces, simplemente podría actualizar el contenido de una subcarpeta en la misma twig ahora.