Generalidades
Git es un excelente recurso para el desarrollo web, ya que te permite optimizar las actualizaciones en vivo además de proporcionar una copia de los archivos de tu sitio web.
Por ejemplo, puedes crear tu sitio web en el computador de tu hogar y usar Git para enviar una copia de esos archivos a tu servidor web DreamHost. Si algo le sucede al computador de tu hogar, aún tienes una copia completa en el servidor web. Luego puedes configurar este repositorio del servidor web para enviar cambios en vivo a tu sitio web.
Usar Git para enviar cambios en vivo a tu sitio web
Primero, sigue todos los pasos en el siguiente artículo:
- Forzar a tu repositorio Git local a un servidor DreamHost — Linux & Mac OS X
- Forzar a tu repositorio Git local a un servidor DreamHost server — Windows
Si seguiste todos los pasos de ese artículo, tu repositorio Git local en tu computador ahora se copia en tu servidor DreamHost (como un repositorio remoto). Pero, esos cambios sólo están en el repositorio remoto.
Si deseas que tu sitio web en vivo se actualice cuando insertas código en el servidor, puedes agregar un enlace post-receive. Este paso crea un archivo para copiar actualizaciones desde el repositorio de tu servidor remoto a tu sitio en vivo. Este ejemplo usa un programa editor de texto llamado nano. Visita el artículo Crear y editar un archivo por medio de SSH para más información sobre cómo editar un archivo.
- Inicia sesión en tu servidor web vía SSH.
- Asegúrate de estar en tu directorio de repositorio remoto.
[server]$ cd ~/example.com.git
- Corre nano y crea un archivo llamado post-receive:
[server]$ nano hooks/post-receive
- Agrega este código al archivo. Indica dónde impulsar estos cambios. En este ejemplo, cambia el username a tu usuario real de shell,y cambiar example.com a tu sitio web.
#!/bin/sh GIT_WORK_TREE=/home/username/example.com git checkout -f main
Si cambiaste el directorio web de tu dominio en el pasado, podría estar configurado a algo como /public. En este caso, necesitarías agregar este directorio a la ruta del archivo, como se muestra a continuación.
#!/bin/sh GIT_WORK_TREE=/home/username/example.com/public git checkout -f main
En estos ejemplos, la rama llamada main está siendo usada. Si has seguido los artículos de DreamHost, los repositorios de servidores locales y de DreamHost están ya configurados para usar esta rama. Deberías cambiar solamente el nombre de la rama si quieres lanzar una rama diferente a tu sitio web en línea.
Revisa el siguiente artículo para más instrucciones sobre cómo configurar git para usar main:
- Guarda y cierra tu archivo para volver a tu shell.
- Otorga al archivo derechos de ejecución.
[server]$ chmod +x hooks/post-receive
Ahora, cuando pasas del repositorio de tu computador local al servidor, esos cambios se agregan automáticamente a tu sitio web en vivo.