cómo exportar automáticamente files cuando se fusiona una twig?

Estoy trabajando con un website usando un repository git con 2 twigs twig principal y twig dev.

Trabajo en una twig dev y cuando las cosas van bien, la fusiono con la twig principal. Y luego necesito copyr todo el directory al directory de implementación o uploadlo al server.

Me gustaría saber si hay alguna forma de exportar / copyr automáticamente esos files / cambios a otro directory cada vez que fusioné / comprometí la twig maestra?


Sé que hay algún tipo de complemento nodejs que mira un directory y carga automáticamente los files al server de implementación cuando algunos files han cambiado. Pero no los probé.

Agradecería que tuvieras una mejor manera de uploadlos sin ejecutar una aplicación nodejs, o usar el git mismo.

Gracias.

Puede configurar un post-merge que haga la tarea por usted. Sin embargo, este gancho siempre se ejecutará cuando realice una git merge que podría no ser la mejor solución para uso general.

Me gustaría configurar un pequeño script que hace esto por mí.

Primero, debe comstackr la list de files que se modificó. Esto se puede hacer con git diff :

 git diff --name-only $FROMREV..$TOREV > filelist 

Dónde

  • $FROMREV es la revisión anterior (es decir, la última revisión en la que creó un file)
  • $TOREV es la nueva revisión (es decir, el estado actual que desea exportar)
  • filelist es el file temporal que contendrá los nombres de los files para filelist

Esta list de files podría usar git archive para crear un file con los files modificados:

 git archive --format zip --output /full/path/to/archive.zip $TOREV $(cat filelist) 

Esto instruye a git para que cree un file zip llamado archive.zip en el directory /full/path/to/ . La revisión que se debe upload es $TOREV . Además, no todos los files serán comprimidos, sino solo aquellos contenidos en la filelist de filelist .

O, como un trazador de líneas:

 git archive --format zip --output /full/path/to/archive.zip $TOREV $(git diff --name-only $FROMREV..$TOREV) 

FROMREV manualmente a este script cada vez que pienses que algo se exportará y alimentarás FROMREV , TOREV y /full/path/to/archive.zip