Aquí indicaré los pasos realizados para crear el Workflow completo desde la creación, subida a Github Pages utilizando la Terminal (GitBash), y por último se desplegará en mi hosting.
Creamos repositorio en GIT y lo llamamos "git-crojasf.crojasf.com" y en local creamos una carpeta con el mismo nombre
Abrimos la consola GIT BASH en la ruta de la carpeta creada para el proyecto.
Como utilizo Windows, hay que habilitar el ssh-agent y agregar la rsa-key que tenemos en local y asociada en Github, para ello ejecutamos los siguientes comandos.
$ eval $(ssh-agent -s)
$ ssh-add ../.ssh/crojasf-key-rsa //es la ruta donde está la rsa.
Ejecutamos los comandos necesarios para traer la repo a local.
$ git init
$ git remote add origin [repositorio vía SSH ó HTTPS]
$ git pull origin master
Creamos y editamos el fichero index.html y realizamos una Iteración Básica (add + commit).
(master)$ git add -A
(master)$ git commit -m "Creación de Landing Page index.html"
// directamente se puede hacer ambas acciones
(master)$ git commit -a -m Creación de Landing Page index.html"
Repetir la Iteración Básica hasta estar listos para publicar.
Una vez estemos listo para publicar, cremamos una nueva rama llamada gh-pages desde master y nos movemos a ella.
(master)$ git branch gh-pages
(master)$ git checkout gh-pages
// o también se puede hacer directamente
(master)$ git checkout -b "gh-pages"
Subimos ambas ramas a la Repo.
(gh-pages)$ git push origin master
(gh-pages)$ git push origin gh-pages
Ahora la Web se verá desde la siguiente URL: https://crojasf.github.io/git-crojasf.crojasf.com/.
A partir de aquí, si se quieren hacer unos cambios se pueden hacer desde la rama master o gh-pages, pero siempre tendrá que guardarse en gh-pages que es la rama que se visualiza desde la URL.
// desde la rama master editamos index.html y guardamos cambios.
// fusionamos master a gh-pages y subimos
(master)$ git checkout gh-pages
(gh-pages)$ git merge master
(gh-pages)$ git push origin gh-pages
(gh-pages)$ git push origin master
Nos conectamos al servidor del hosting por SSH y navegamos hasta carpeta donde se alojará la web.
$ ssh -i crojasf_rsa crojasfc@crojasf.com -p 93
[]#cd x/git-crojasf
[x/git-crojasf]#
Iniciamos GIT, conectamos a Github, activamos ssh-agent, agregamos clave rsa y traemos repo pero solo a master.
[x/git-crojasf]# git init
[x/git-crojasf]# eval $(ssh-agent -s)
[x/git-crojasf]# ssh-add ../../.ssh/crojasf-key-rsa
[x/git-crojasf]# git remote add origin [repositorio vía SSH ó HTTPS]
[x/git-crojasf]# git pull origin master