Normalmente suelo publicar las aplicaciones web que hago en algún servidor dedicado, pero el otro día participando en un hackathon, me acordé de la rama gh-pages de Github y lo fácil que es publicar tu aplicación web directamente con Github.
El workflow para utilizar gh-pages es bastante sencillo y lo pongo aquí en el blog, básicamente para acordarme para otra vez porque no suelo usar Git :). Si a alguien más le sirve pues perfecto.
Workflow para publicar una aplicación web en Github con gh-pages
Lo primero es crear una rama con el nombre gh-pages y Github se encargará de publicarlo automáticamente. Por ejemplo, en mi caso durante el hackathon estuve trabajando en este repositorio https://github.com/admin/wiw.
Las dos instrucciones que necesitamos para crear la rama gh-pages son:
git checkout -b gh-pages
git push -u origin gh-pages
Al crear la rama gh-pages podemos acceder a lo que publica Github a través de esta URL, https://alrocar.github.io/wiw/
Para cambiar de rama utilizamos siempre el comando
git checkout
Si normalmente desarrollamos en la rama master y queremos que los cambios que hemos hecho se publiquen en la web que genera Github con gh-pages, debemos seguir el siguiente workflow:
Trabajamos con normalidad en la rama master y en algún momento decidimos subir cambios a Github:
git push origin master
A continuación, cambiamos a la rama gh-pages:
git checkout gh-pages
Mezclamos los cambios de la rama master sobre la rama gh-pages que obviamente estará desactualizada:
git merge master
Subimos los cambios a la rama gh-pahes en Github
git push origin gh-pages
Lo que acabamos de hacer es subir los cambios de la rama de desarrollo a la aplicación web en Github. A continuación, si queremos seguir desarrollando, volvemos a la rama master:
git checkout master
Y este workflow lo podemos repetir hasta el infinito
¿Cómo despublicar tu aplicación web de Github?
Si en algún momento, queremos despublicar la aplicación web en Github simplemente debemos borrar la rama gh-pages:
git push origin --delete gh-pages
Por cierto, que también se puede utilizar gh-pages como hosting de una web y utilizar un nombre de dominio. Si eso ya lo contaré otro día 🙂
Holaa 🙂 que tal, he estado buscando información pero no he podido encontrar nada, sabes si es posible almacenar en git una página dinámica con php-mysql en git??
Muchas gracias 🙂 un saludo
Hola,
supongo que te refieres a publicar una página escrita en PHP… de momento Github no entiende PHP :(, así que tendrás que buscar otro tipo de hosting.
Saludos!
¡Gracias! Es justo lo que estaba buscando.
De nada 🙂
.. Buenas amigo… una pregunta sera que pueda subir mi blog de wordpress a github pages ?
De lo que dijo alberto no puedes wordpress esta hecho en php y ademas usa base de datos mysql postgress, etc
Sencillo y supremamente útil.
Muchas gracias.
Gracias Alberto, justo lo necesitaba!