
📅 Publicado el 7 de noviembre, 2026 · Por Equipo RedServicio
Trabajar con git en hosting se ha convertido, para muchos, en la forma más razonable de desplegar y mantener una web profesional. La alternativa de siempre —subir archivos por FTP uno a uno cada vez que tocas algo— funciona, sí. Pero es lenta y propensa a olvidos. Con Git, sincronizas tu servidor con tu repositorio mediante un simple git pull y listo. Aquí te cuento, paso a paso, cómo montar este flujo de trabajo en tu hosting, qué necesitas antes de empezar y cómo esquivar los errores típicos. Y si andas buscando un entorno donde Git y SSH funcionen sin fricción, en RedServicio tienes hosting con soporte 24/7 que te echa un cable cuando haga falta.
¿Qué es usar git en hosting y por qué te conviene?
La idea es sencilla: instalar un repositorio Git directamente en el servidor donde vive tu web, de manera que lo que trabajas en local llegue a producción con un solo comando. Nada de arrastrar carpetas por FTP. Por eso el flujo está tan extendido entre desarrolladores: quita de en medio la subida manual y, con ella, buena parte de los errores humanos.
¿Qué ganas con esto? Bastante:
- Despliegues rápidos y reproducibles: un git pull actualiza tu web en segundos, sin pelearte con clientes FTP lentos.
- Historial completo de cambios: si algo se rompe tras una actualización (y a veces se rompe), vuelves a la versión anterior cuando quieras.
- Menos errores de sincronización: se acabó eso de preguntarte qué archivos subiste y cuáles se quedaron en local.
- Colaboración sencilla: trabajando en equipo, todo cambio pasa por el mismo control de versiones antes de pisar producción.
¿Cuándo tiene sentido este enfoque?
Sobre todo en webs gestionadas con frameworks (Laravel, WordPress con temas propios, proyectos PHP o Node.js) y en cualquier proyecto donde el código cambia a menudo. Si solo tocas contenido una vez al año, puede que el FTP de toda la vida te baste. Pero en cuanto el proyecto crece, Git deja de ser opcional. Lo he visto en suficientes proyectos: llega un punto en que el FTP simplemente no da más de sí.
Requisitos previos antes de configurar Git en tu servidor
Antes de ponerse manos a la obra, hay que verificar que el entorno cumple unos mínimos. Lo primero: ¿Git está instalado en el servidor? Conéctate por SSH y ejecuta:
git –version
Si te devuelve una versión igual o superior a 2.x, perfecto. Si el comando no existe, tendrás que pedirla a tu proveedor o instalarla tú mismo, siempre que tu plan lo permita. En los planes de RedServicio, Git viene disponible de serie en la mayoría de los servicios de hosting.
Luego repasa esta lista:
- Acceso SSH: imprescindible para ejecutar comandos en el servidor. Comprueba que tu plan lo incluye y que tienes usuario y contraseña (o clave SSH).
- Espacio en disco suficiente: el repositorio guarda el historial completo de versiones, así que calcula al menos el doble del tamaño de tu proyecto.
- Versión de PHP u otro runtime compatible: debe coincidir con la que usas en local. Si no, espera sorpresas tras el despliegue.
- Permisos de escritura: el usuario con el que te conectas debe poder escribir en el directorio público de tu web (por ejemplo, public_html).
Consejo: crea un usuario SSH específico para despliegues en lugar de usar root. Es más seguro y facilita la auditoría de cambios.
Configuración inicial: acceso SSH y creación del repositorio
Con los requisitos cubiertos, toca establecer la conexión SSH. Desde tu terminal local:
¿Todavía te autenticas con contraseña? Merece la pena generar una clave SSH y copiarla al servidor. Así no escribes contraseñas en cada despliegue:
ssh-keygen -t ed25519
ssh-copy-id [email protected]
Una vez dentro, hay que decidir la arquitectura del repositorio. La práctica recomendada es un repositorio bare (sin archivos de trabajo) que actúe como destino central, junto con un directorio aparte donde el código se extrae automáticamente. Los pasos:
- Crea el repositorio bare: git init –bare /home/usuario/repos/miweb.git
- Crea el directorio de producción: mkdir -p /home/usuario/public_html
- En tu máquina local, añade el remoto: git remote add production ssh://[email protected]/home/usuario/repos/miweb.git
- Sube tu rama principal: git push production main
Con esto ya tienes la base montada. En la siguiente parte del artículo veremos cómo configurar un hook post-receive para que el código se extraiga solo a public_html con cada git push, y cómo automatizar las tareas que van después del despliegue.
Despliegue paso a paso: actualizar tu web con git pull
Con el repositorio ya configurado en el servidor, actualizar tu web se reduce a dos comandos. Desde tu máquina local, sube los cambios:
git push production main
Después te conectas por SSH al servidor y extraes el código a la carpeta pública:
cd ~/public_html && git pull production main
¿No quieres depender del remote intermedio? Puedes extraer directamente desde el repositorio desnudo (bare) que creamos en la sección anterior:
git –work-tree=/home/usuario/public_html –git-dir=/home/usuario/repos-web.git checkout -f main
Antes de lanzar el pull en producción, te recomiendo una rutina corta de verificación. Tres pasos, no más:
- Ejecuta git status para confirmar que no hay archivos modificados sin guardar en el servidor.
- Revisa el log remoto con git log production/main –oneline -5. Así sabes exactamente qué vas a desplegar. Nada de sorpresas.
- Tras el pull, limpia cachés si tu CMS lo necesita (WordPress, Laravel, etc.) y comprueba la web en el navegador.
Este flujo manual funciona de maravilla. El único pero: tienes que conectarte por SSH en cada actualización, y eso, con el tiempo, cansa. Si quieres ir un paso más allá, la automatización con hooks es tu siguiente destino.
Automatización avanzada: hooks post-receive para despliegues instantáneos
Git permite ejecutar scripts en momentos concretos del ciclo de vida del repositorio. El hook post-receive se dispara automáticamente cada vez que recibes un push, con lo que tu despliegue queda reducido a un solo comando.
Crea el archivo en tu repositorio desnudo:
nano ~/repos-web.git/hooks/post-receive
Y pega dentro este contenido básico:
#!/bin/bash
GIT_WORK_TREE=/home/usuario/public_html git checkout -f main
Dale permisos de ejecución con chmod +x ~/repos-web.git/hooks/post-receive. A partir de ahora, cada git push production main desde tu ordenador copiará el código directamente a public_html. Sin tocar nada más.
El script admite tareas posteriores al despliegue. Por ejemplo:
- composer install –no-dev para actualizar dependencias de PHP.
- npm run build si trabajas con un frontend compilado.
- Migraciones de base de datos en frameworks como Laravel.
- Limpiar cachés de opcache o del propio CMS.
Un hook más completo quedaría así:
#!/bin/bash
GIT_WORK_TREE=/home/usuario/public_html git checkout -f main
cd /home/usuario/public_html
composer install –no-dev –quiet
echo «Despliegue completado»
Un detalle que se olvida a menudo: el hook se ejecuta con el usuario del repositorio, así que verifica que tiene permisos de escritura sobre public_html. En el hosting de RedServicio puedes gestionar estos permisos desde cPanel o pidiendo ayuda a nuestro soporte 24/7.
Consejos de seguridad, errores comunes y conclusiones
Desplegar con Git es cómodo, pero conviene proteger la instalación. Lo primero, y no negociable: bloquea el acceso web al directorio .git. Si public_html es tu repositorio de trabajo, cualquiera podría intentar acceder a tudominio.com/.git/config. Añade esto a tu .htaccess:
RedirectMatch 404 /\\.git
Errores frecuentes
- «error: Your local changes would be overwritten»: alguien editó archivos directamente en el servidor. Ejecuta git checkout -f o git stash antes del pull.
- Hook que no se ejecuta: casi siempre es cosa de permisos. Revisa el chmod +x.
- Push rechazado: ocurre si haces commits directamente en el servidor. Mi consejo: evita trabajar en producción y reserva el servidor solo para recibir código.
Buenas prácticas finales
- Usa ramas (main para producción, develop para pruebas) y despliega solo lo revisado.
- Incluye un archivo .gitignore con credenciales, logs y carpetas de caché.
- Haz copia de la base de datos antes de despliegues con migraciones. Siempre.
Dominar Git en hosting cambia por completo la forma de publicar: un simple push actualiza producción, con historial completo de cambios y posibilidad de volver atrás si algo falla. Si buscas un entorno donde SSH, Git y Composer funcionen sin restricciones y con soporte técnico disponible a cualquier hora, en RedServicio encontrarás planes de hosting pensados precisamente para desarrolladores como tú.
Equipo RedServicio
Artículos escritos y revisados por nuestro equipo técnico especializado en hosting e infraestructura web en España.
¿Listo para un hosting de verdad?
Servidores en España · Soporte 24/7 en español · Migración gratuita
Ver Planes desde 3,95€/mes →