Cada vez mas en nuestros proyectos se integra el control de versiones y en este caso especifico uno de los más utilizados hoy en día como es Git, esta herramienta junto a Github nos da un control de versiones profesional a nuestras aplicaciones ahora bien cuando queremos publicar estos proyectos en nuestros servidores de hosting compartido ya sea de prueba o de producción utilizamos un cliente normal de ftp y subimos los archivos de forma manual lo que conlleva a una selección de los últimos archivos modificados para subirlos a nuestro servidor, esto no es muy productivo por eso muchos hemos migrado a servidores tipo Cloud VPS o Servidores Dedicados en donde podemos trabajar de forma más amigable con git… pero ya este es otro tema.
Ahora hablemos de la solución que nos simplificara la subida de nuestros últimos cambios en nuestro desarrollo a nuestro servidor de hosting compartido. Esta solución que hemos encontrado y utilizado muy bien y que a su vez queremos compartir con ustedes es https://github.com/git-ftp/git-ftp este script creado de forma colaborativa por https://github.com/git-ftp/git-ftp/blob/develop/AUTHORS nos permitirá hacer lo tedioso bastante simple a la hora de subir nuestros archivos por ftp.
Instalación de Git-FTP
Esta instalación la debemos realizar en nuestro equipo local, aqui les dejamos todas las instrucciones de instalación para los distintos sistemas operativos https://github.com/git-ftp/git-ftp/blob/develop/INSTALL.md.
Luego de proceder con la instalación nos ubicamos en nuestro proyecto que ya tenemos versionado en git y en nuestro local, ahora el siguiente paso seria hacer la primera subida con Git-Ftp se realizaria de la siguiente forma con init
git ftp init -u usuarioftp -p - ftp://dominioprueba.com/public_html
En este caso estamos subiendo a la carpeta public_html del dominio dominioprueba.com con el usuario para conectarme ftp usuarioftp estas son variables que debemos de cambiar con nuestra configuración, luego de ejecutar esta linea en nuestra consola el script nos solicitara el nuestra contraseña de ftp y con esto se inicia la subida de todo el código por primera vez a nuestro servidor compartido.
Ahora bien esto solo se realizara una sola vez ya que el comando de aqui en adelante sera el siguiente con push
git ftp push -u usuarioftp -p - ftp://dominioprueba.com/public_html
Ahora el ejemplo completo seria a la hora de enviar un cambio al git y luego subirlo a nuestro ftp seria el siguiente
cd repositorio git commit -a -m "Cambio en codigo" git push origin master git ftp push -u usuarioftp -p - ftp://dominioprueba.com/public_html
Con estos simples comandos hemos enviado los nuevos cambios tanto a nuestro repositorio como a nuestro servidor compartido.
Cualquier comentario que tengas con referencia a este tema no dudes en realizarlo, estamos siempre atentos a cualquier duda que se te presente.
¿Se envían por ftp sólo los cambios que han sido confirmados ó todos los cambios sin importar si se ha hecho o no commit en el repositorio local?
Hola Daniel, se enviaran solo los cambios que se han enviado al repositorio git y que sean diferente a la version que esta en el servidor ftp, en pocas palabras se enviaran solo los archivos que se enviaron via push al repo git, ya que el sistema git ftp push toma los cambios por versiones, el controla las versiones con el servidor ftp. Cualquier otra consulta estamos a la orden por esta via.
Muy util…
Nos alegra que te haya resultado útil 🙂
Quedamos a las órdenes por cualquier consulta.
Me funcionó excelente, en INC.CL
Excelente Aníbal, nos alegra que te haya servido 🙂
Hola, no me funciona me sale el siguiente error fatal: Unrecognised option: ftp:/ , no tengo que instalar git en el hosting compartido verdad? solo en el local. Además como verifico que instale correctamente git-ftp. Si alguien puede ayudarme se lo agradecería mucho. 🙁
Buenas noches, a mi tambien me sale ese error despeus de haber seguido cada uno de los pasos al instalar el git fpt 🙁
fatal: Unrecognised option: ftp:/