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:
gh-pages
para master
con la opción --ours
(por lo que el maestro está realmente intacto). 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
):