Subir por FTP es antiguo y arriesgado. Esta simple guia de git describe como configurar tu server para poder hacer cambios al tiempo con un simple “git push origin”.
En tu maquina local:
Vamos a suponer que creamos un nuevo sitio con un único archivo llamado “index.html”.
$ mkdir sitio; cd sitio
$ git init
Initialized empty Git repository in /home/user/sitio/.git
$ touch index.html
$ git add index.html
$ git commit -m “mi primer commit”
La idea de la carpeta sitio es que vaya toooodo tu proyecto (templates, backend code, frontend code). Lo ideal es un repositorio git por server, es decir si tenemos otro server para servir contenido estático tendríamos que crear otro repositorio.
En tu server remoto:
Asumo que tenemos un server con acceso SSH
Idealmente que hayamos configurado las cosas para que podamos entrar sin ingresar un password.
Creamos un repositorio espejo al que tenemos en nuestra maquina local.
$ mkdir sitio.git; cd sitio.git
$ git init –bare
Entonces definimos (y habilitamos) un post-receive en la carpeta hooks.
$ nano hooks/post-receive
#!/bin/sh
GIT_WORK_TREE=/home/user/webapps/ejemplo.com git checkout -f
$ chmod +x hooks/post-receive
Volvemos a nuestra maquina
De vuelta en nuestra maquina definimos un nombre para el espejo remoto, y luego lo reflejamos allí creando una nueva rama “maestra”.
$ git remote add origin ssh://server.ejemplo.com/home/user/gitapps/sitio.git
$ git push origin +master:refs/heads/master
Sobre el servidor /home/user/webapps/ejemplo.com deberíamos tener una copiar de nuestro index.html
A la hora de actualizar:
solo corre el comando:
$ git push origin
Esto transferirá cuaquier nuevo commit a nuestro server.