Actualiza gh-pages con el último commit de master

Estoy usando SourceTree en combinación con un repository de Github para el control de versiones de un proyecto. Durante un time, he estado utilizando el master para confirmar todos los cambios nuevos, pero de vez en cuando, quiero que la twig gh-pages avance rápidamente al último commit del master , para que pueda actualizar la página en vivo con el página que tengo en producción (generalmente cuando termina una actualización importante).

He intentado hacer una nueva reference, como sugirió otra publicación de SO, pero esto empeoró aún más el problema, ya que SourceTree me hizo elegir manualmente qué cambios quería y el reajuste tardó un poco, especialmente teniendo en count la cantidad de confirmaciones entre la última actualización de gh-pages . Después de volver a basarme con éxito en un proyecto, básicamente podía sincronizar la twig gh-pages con el master siempre que lo deseaba y todas las versiones intermedias se confirmaban automáticamente (aunque no pude reproducir el mismo comportamiento en otro repository). Sin embargo, lo que quiero es get la última confirmación y sobrescribir todos los files. Para hacer esto, generalmente solo copio toda la carpeta mientras estaba en la twig master a otra location, luego cambio a gh-pages y sobrescribo todos los files manualmente. Sin embargo, esto no es óptimo y puede ser realmente problemático para proyectos más grandes.

Entonces, lo que quiero y necesito es automatizar este procedimiento, ya sea a través de SourceTree o mediante un script.

TL; DR : Necesito una forma de actualizar gh-pages a la última confirmación master forma semiautomática, que sobrescribirá todos los files con los que están en el master sin rebasar y luego los empujará al depósito de Github.

Sin embargo, lo que quiero es get la última confirmación y sobrescribir todos los files.

Debieras:

  • fusiona gh-pages para master con la opción --ours (por lo que el maestro está realmente intacto).
  • fusionar master a gh-pages (lo que significa que gh-pages avanza rápido para master y se vuelve idéntico)

Asi que:

 git checkout master git merge --ours gh-pages git checkout gh-pages git merge master 

Sin embargo, no olvides que, desde hace unos días, ya no tienes que mantener una sucursal de gh-pages .

La publicación más 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.