Generalidades
Este artículo explica cómo sincronizar automáticamente los cambios del sitio web en tu computador de hogar con tu sitio web DreamPress usando Git. Esto se logra creando un repositorio Git tanto localmente (en tu computador) como en el servidor web, actualizando un tema secundario en tu computador de hogar y luego copiando esos cambios a tu sitio web.
Se cubren los siguientes temas:
- Iniciar sesión en tu servidor
- Configurar el repositorio Git de tu servidor
- Configurar tu repositorio Git local
- Conectar tus repositorios
Antecedentes de Git
Git es un software que crea snapshots de los cambios en el código de tu sitio web. Esto hace que sea fácil restaurar una versión anterior si una actualización provoca un error. También te permite probar nuevos cambios sin afectar tu sitio web en vivo.
¿Cómo se debe utilizar Git?
-
Git solo debe usarse para administrar tus personalizaciones o tu propio desarrollo de temas y plugin. El caso de uso más común para el uso de Git es la creación de un tema secundario, que te permite realizar cambios en un tema sin que tus cambios se sobrescriban cuando se actualiza el tema.
Git no debe usarse como una herramienta de respaldo de WordPress porque las actualizaciones automáticas de WordPress sobrescribirán cualquier cambio que hayas realizado en los archivos principales.
¿Puedo usar FTP para actualizar mi sitio?
-
Sí, pero FTP solo te permite iniciar sesión en tu sitio web y actualizar los archivos del mismo. No realiza un seguimiento de tus cambios ni almacena versiones históricas de tu código. Esto significa que no puedes ver actualizaciones anteriores, volver a una versión anterior si un cambio provoca un error o sincronizar cambios desde tu computador personal a tu servidor.
Asegúrate de haber configurado lo siguiente antes de continuar con los pasos de este artículo.
Instalar DreamPress
Debes tener un sitio web de DreamPress en funcionamiento.
Crear un tema secundario
Utiliza este artículo para crear un tema secundario básico.
Instalar Git en tu computador
Git debe estar instalado en tu computador para poder correr los comandos de Git. Revisa este artículo para obtener instrucciones sobre cómo instalar Git para Windows y macOS.
Iniciar sesión en tu servidor
Estos pasos configuran SSH para que pueda iniciar sesión en tu servidor sin usar una contraseña.
Paso 1 — Crear un usuario
Antes de continuar, asegúrate de haber creado un usuario de Shell y de poder iniciar sesión en tu servidor a través de SSH. Anota tu nombre de usuario, contraseña, y host (nombre del servidor) de Shell. Se verán así:
-
Usuario Shell: wp_abc123
Host: wp_123456.dreamhostps.com
Paso 2 — Elige una aplicación de terminal
Los comandos SSH se ejecutan dentro de una aplicación de terminal. Elige la que desee utilizar con su sistema operativo.
- Windows: Puedes utilizar el Shell de Windows o un programa de terceros como PuTTY.
- Mac OS y Linux: Ambos incluyen una terminal, pero también hay opciones de terceros disponibles. Por ejemplo, iTerm2 es muy popular en Mac.
Paso 3 — Configurar una clave SSH en tu computador
Las claves SSH te permiten conectarte automáticamente a tu servidor DreamPress y habilitar los comandos Git para que funcionen de forma remota. Los siguientes artículos brindan instrucciones sobre cómo configurarlo.
- Configurar el inicio de sesión sin contraseña en PuTTY (Windows)
- Cómo configurar el inicio de sesión sin contraseña en Mac OS y Linux
Paso 4 — Iniciar sesión en tu servidor
Abre tu terminal e inicia sesión en tu servidor usando SSH. El siguiente ejemplo utiliza un usuario de shell llamado wp_abc123 y un nombre de servidor (host) wp_123456.dreamhostps.com:
[local]$ ssh wp_abc123@wp_123456.dreamhostps.com
Verificar y guardar la información del servidor
La primera vez que inicies sesión, debes aceptar a tu servidor como un host válido. Esto guarda la información del servidor en tu computador dentro del archivo known_hosts. Revisa este artículo para obtener información sobre cómo verificar la identidad del servidor antes de guardar.
Configurar el repositorio Git de tu servidor
Estos pasos configuran un repositorio Git en tu servidor DreamHost.
Paso 1 — Configurar el repositorio Git de tu servidor
Estos pasos crean un directorio Git y un repositorio vacío en el directorio home del usuario en el servidor.
- Inicia sesión entu servidor a través de SSH.
- Corre los siguientes comandos para crear tu identidad de Git usando tu nombre y dirección de correo.
[server]$ git config --global user.name "John Doe" [server]$ git config --global user.email johndoe@example.com [server]$ git config --global init.defaultBranch main
La última línea garantiza que los repositorios recién creados utilicen el nombre main como rama principal.
- Asegúrate de estar en el directorio de tu usuario:
[server]$ cd ~
- Crea el directorio Git. Puedes nombrarlo como quieras. En este ejemplo, se crean dos directorios, /git y /projectname:
[server]$ mkdir -p git/projectname
- Cambia al directorio recién creado:
[server]$ cd git/projectname
- Inicia el repositorio:
[server]$ git init --bare Initialized empty Git repository in /home/username/git/projectname/
Paso 2 — Crea un archivo para copiar actualizaciones
Este paso crea un archivo llamado post-receive que se actualiza en el directorio del tema secundario.
- Asegúrate de estar en tu directorio /git/projectname.
-
Crea un archivo llamado post-receive:
[server]$ nano hooks/post-receive
- Agrega el siguiente código al archivo. Esto le indica a Git que envíe los cambios al directorio del tema secundario.
#!/bin/sh GIT_WORK_TREE=/home/username/example.com/wp-content/themes/child-theme-directory git checkout -f
- Guards y cierrs el archivo.
Paso 3 — Actualizar los permisos del archivo
El archivo debe tener permisos de ejecución para poder ejecutarse.
- Corre el siguiente comando para actualizar los permisos del archivo:
[server]$ chmod +x hooks/post-receive
- Verifica los permisos para confirmar que estén actualizados.
[server]$ ls -la | grep post-receive -rwxr-xr-x post-receive
Configurar tu repositorio Git local
Estos pasos configuran un repositorio Git en tu computador de casa.
Paso 1 — Descarga los archivos de tu sitio web a tu computador
Inicia sesión en tu servidor a través de FTP y descarga todos los archivos de tu sitio web DreamPress a tu computador local.
Paso 2 — Crea tu repositorio Git local
- Abre la aplicación de terminal en tu computadora de hogar.
- Navega al directorio donde realizaste un respaldo de los archivos del sitio web.
- Cambia al directorio de temas secundarios:
[local]$ cd ~/example.com/wp-content/themes/child-theme-directory
- Correr lo siguiente para inicializar un repositorio vacío:
[local]$ git init
Paso 3 — Personaliza el tema secundario local en tu computador
Este paso no se trata en este artículo. Revisa esta publicación del blog para obtener instrucciones sobre cómo crear un tema secundario.
Paso 4 — Guardar tus cambios
Estos pasos guardan las personalizaciones del tema secundario en tu repositorio Git local.
- Agrega tus cambios a tu índice Git local:
[local]$ git add .
- Confirma estos cambios en el repositorio. Incluye un breve mensaje en el comando de confirmación para recordarte lo que está confirmando. Esto puede usarse en el futuro para ayudarlo a localizar una actualización específica.
[local]$ git commit -m "message about the commit"
- Verifica el estado de tu repositorio Git para confirmar que todo se haya guardado:
[local]$ git status
Conectar tus repositorios
Estos pasos conectan tu repositorio local al repositorio de tu servidor de DreamHost.
Paso 1 — Configurar la conexión a tu servidor remoto
- En tu computador de hogar, navega al directorio del tema secundario.
- Corre el siguiente comando para agregar un repositorio remoto:
En el siguiente ejemplo, la palabra myserver es solo un alias que se utiliza para enviar el contenido a tu servidor en el futuro. Puede tener el nombre que desees.
[local]$ git remote add myserver ssh://username@servername.dreamhostps.com/~/git/projectname
- Corre lo siguiente para confirmar que se agregó correctamente:
[local]$ git remote -v
Paso 2 — Envía tus cambios al servidor de tu sitio web
Ahora que tus repositorios locales y del servidor están conectados, puedes enviar los cambios a tu sitio web cada vez que se realices una actualización en tu computador de hogar.
- En el directorio del tema secundario, corre el siguiente comando solo una vez:
[local]$ git push -u myserver main Branch main set up to track remote branch 'main' from 'myserver'
- Envía tus cambios al servidor con el siguiente comando:
[local]$ git push myserver
Paso 3 — Revisa tu sitio web en vivo
Revisa tu sitio web. Deberías ver que el tema secundario de tu sitio se ha actualizado.