Usar FTP con GIT, haz tu deploy a FTP desde consola

Cuando realizo proyectos pequeños donde solo uso HTML, CSS  y/o PHP, siempre había usado FileZilla para subir mis archivos a hosting compartido o servidores cuando se me otorgaban acceso de FTP. Pero he encontrado esta herramienta que ayudar a usar FTP con GIT.

Pero bueno, aún que con el tiempo el proceso debería ser más rápido ya que tienes la “experiencia” de estarlo usando constantemente.

Ya que también uso la herramienta GIT “si o si” en todos mis proyectos, a veces para respaldar mis proyectos y otras veces para tener el control de las versiones.

Dudas

Las preguntas que surgen:

  • ¿Habrá manera de usar FTP con GIT?.
  • ¿Al hacer git push se pueda subir mis cambios a FTP?

Bueno pues encontré muchas herramientas para realizarlo muchas eran con interfaces visuales, pero estoy en la etapa de que quisiera acostumbrarme a usar todo lo que se pueda usar por la consola (aún que hay cosas que realmente si requiero algo visual).

git-ftp

Descargar Repositorio git-ftp

Dejar en claro que necesitamos trabajar con repositorios de git, si no no va a funcionar.

Bueno la funcionalidad me gusta y eso que aún no la pruebo por completo. Pero quería compartirles lo genial que esta, aparte de que me a ahorrado tiempo en estar usando FileZilla o algún otro software para usar FTP.

Uso de FTP con GIT

La manera de usarlo es demasiado sencillo, pero para configurarlo primero tienes que ingresar la URL de FTP, el Usuario y la Contraseña.

Para agregar la URL del FTP sería de esta manera:

git config git-ftp.url "ftp://ftp.dominio.com:21/public_html"

Para agregar el Usuario de FTP:

git config git-ftp.user "ftp-user"

Para la Contraseña de FTP:

git config git-ftp.password "secr3t"

De esta manera te agrega estos campos anteriores en el archivo config de git, agregando esta información:

[git-ftp]
    url = ftp://ftp.dominio.com:21/public_html
    user = ftp-user
    password = secr3t

Una vez configurado esta información, ya podemos usar los comandos más usados son:

  • git ftp init, sube por primera vez los archivos al servidor y crea un archivo log .git-ftp.log
  • git ftp push, carga archivos que han cambiado y elimina archivos que se han eliminado desde la última carga.

My workflow GIT y FTP

Les mostraré como lo uso yo con un ejemplo real:

Voy a trabajar con mi tema de WordPress llamado “luisramirez”, sería de esta manera:

git config git-ftp.url "ftp://ftp.luisramirez.me:21/public_html/wp-content/themes/luisramirez"
git config git-ftp.user "userftp"
git config git-ftp.password "contraseña-muydificil"
git ftp init

PD. No es mi contraseña de FTP.

Con esto estoy configurando la información de FTP en el archivo config de git y también inicio la primera carga a FTP.

Después de hacer cambios en mi template:

git add . git commit -am "Modificación de Header" git push git ftp push

Después de agregar el comentario de git, realizo push al repositorio de git, y después con el comando git ftp push se sube la información por medio de FTP.

Claro que existen muchas maneras de realizar tu workflow, el mío es un poco diferente ya que tengo configurado alías para hacer un poco rápido todo.

De igual manera les recomiendo que lean toda la documentación del git-ftp, para que pueda aprender a usarlo al 100%.

Conclusión

Tenía la costumbre de estar usando programas como FileZilla y plugins de mi editor de textos cuando usaba proyectos sencillos, pero por una o dos razones no me agradaban en su totalidad.

Con esta herramienta, creo que me estoy adaptando más rápido que como lo hice con FileZilla en sus inicios, al igual trato de ser un usuario que utiliza mucho la consola, para realizar estas acciones.