Cómo usar Git para impulsar su sitio local en vivo

Publicado: 2022-10-18

Muchas empresas hacen un gran esfuerzo para que el desarrollo de sitios web sea sencillo para el usuario promedio. Esto tiene sentido, porque hay propietarios de sitios que no tienen (o no quieren) el tiempo para aprender todos los aspectos del funcionamiento de un sitio local. Sin embargo, con un poco de investigación, puede usar Git para manejar el proceso de publicar su sitio. Esto le brinda un poco más de seguridad y, una vez que haya configurado todo, un camino más fácil para realizar cambios en el sitio.

Aun así, llegar a ese punto es ciertamente difícil. Hay muchos requisitos previos a considerar, habilidades que debe tener y herramientas a mano. Además, deberá pensar en el proceso las primeras veces, porque hay mucho que recordar. Sin embargo, usar Git para impulsar un sitio en vivo es posible para casi todos los usuarios, y no tiene que ser tan complicado como crees.

Para este tutorial, le mostraremos paso a paso cómo usar Git para enviar un sitio local a un servidor en vivo. Primero, repasemos algunas de las herramientas y tecnologías que presentaremos en la publicación.

Una introducción a Git

Para los que no lo saben, Git es un sistema de control de versiones (VCS). Es una forma de guardar y registrar los cambios que realiza en un proyecto, a menudo una aplicación o un sitio web. Es algo que tratamos en otro lugar, pero necesitará saber más al respecto para este tutorial.

El repositorio de GitHub de WordPress.

La forma típica de usar Git es a través de una interfaz de línea de comandos (CLI): si tiene experiencia con WP-CLI, es un enfoque similar. Utilizará comandos para marcar y organizar los archivos en los que trabaja de varias maneras:

  • Antes de emitir comandos, los archivos permanecerán 'sin preparar'. Esto significa que no son parte de su 'repositorio' de Git (el directorio que almacena su historial).
  • Emitirá un comando para preparar todos o algunos de sus archivos, momento en el que aún puede trabajar en ellos.
  • Cuando termine, envíe los archivos al 'repositorio' desde el área de preparación. Esto es similar a guardar esos cambios.

Puede ser más complicado que esto, pero en su mayor parte usará solo un puñado de comandos para realizar el trabajo diario con Git.

Uso de Git para el desarrollo basado en equipos

Git es una herramienta clave para los equipos de desarrollo, porque cada desarrollador abrirá una "sucursal" diferente dentro del mismo repositorio. Esto significa que todos pueden trabajar en el proyecto sin afectar los archivos de los demás. A intervalos regulares, a menudo como la última tarea del día, el equipo realizará cambios en el repositorio.

Un miembro sénior del equipo luego buscará 'fusionar' todas las ramas y cambios juntos al main o trunk del repositorio. En este punto, tendrá el conjunto definitivo de archivos de proyecto dentro del repositorio.

Para un solo desarrollador, probablemente usted, Git todavía tiene valor como una especie de herramienta de ahorro incremental. Abrirá una nueva rama, trabajará en su sitio, luego organizará y confirmará esos cambios. Significa que puede hacer lo que quiera en la rama sin afectar ningún otro archivo en su sitio. Cuando desee confirmar (o eliminar), puede hacerlo.

Una introducción rápida sobre el desarrollo local de WordPress

Antes de continuar, debemos tener en cuenta que trabajar en su sitio lejos de su servidor en vivo es una práctica típica recomendada. Si aún no lo ha hecho, consulte nuestro artículo sobre cómo instalar WordPress. Además, es posible que desee considerar una aplicación dedicada para trabajar en su sitio.

El logotipo de DevKinsta.

Local by Flywheel es una buena opción, pero también lo es DevKinsta. Independientemente, hay muchas maneras de crear un sitio local y es algo que querrás tener en su lugar.

Por qué querría usar Git para impulsar un sitio local en vivo

La razón principal por la que querrá usar Git para impulsar su sitio en vivo es una que mencionamos anteriormente: Flexibilidad. La naturaleza de Git significa que tendrá una rama principal que sirve como conjunto definitivo de archivos de proyecto. Sin embargo, puede abrir tantas sucursales nuevas como necesite; de ​​hecho, es exactamente la forma en que los equipos grandes usan Git a escala.

Con este enfoque, puede crear una nueva rama para trabajar en el diseño de la página de inicio de su sitio, sin necesidad de afectar sus archivos principales. Considere una rama como una especie de clon que fusiona nuevamente en su rama principal a través de confirmaciones por etapas.

Sin embargo, hay algunas otras razones por las que Git es útil:

  • Puede alojar este repositorio de Git en cualquier ubicación. GitHub y GitLab son dos sitios que se enfocan en alojar repositorios de Git. A partir de ahí, puede traer a otros miembros del equipo o desarrolladores si necesita apoyo adicional. Incluso puede migrar un sitio con facilidad.
  • Por supuesto, no necesitará trabajar en su sitio en vivo, lo cual es fantástico desde el punto de vista relacionado con la seguridad y el rendimiento. Sin embargo, puede elegir enviar solo los archivos en los que trabaja. Esto ofrece inmensos beneficios porque no necesita tocar su base de datos de WordPress. Este es el objetivo clave de la puesta en escena del sitio web, y es posible hacerlo usando Git y una instalación local.

Sin embargo, para llegar a este punto, querrá tener a mano una serie de herramientas, habilidades y requisitos previos. A continuación, repasaremos cuáles son.

Lo que necesitará antes de usar Git para publicar sitios (herramientas y habilidades)

Vale la pena señalar lo que ya debería tener en su lugar antes de pensar en los extras que necesitará. Por ejemplo, asegúrese de tener a mano lo siguiente:

  • Una versión local de su sitio web actual.
  • Accede a tu panel de control de hosting y servidor como administrador.

Desde aquí, puede considerar qué más necesita para usar Git con su sitio local y servidor en vivo:

  • Deberá instalar Git en su computadora. A menudo logras esto a través de la línea de comandos.
  • Hablando de eso, querrá saber cómo usar la línea de comandos. Específicamente, debe saber cómo moverse por su computadora, crear directorios y archivos, y también eliminarlos.
  • Conocimiento del acceso Secure Shell (SSH) para su servidor y, al menos, familiaridad con la creación de claves seguras. Puede obtener más información al respecto en nuestro artículo sobre el Protocolo seguro de transferencia de archivos (SFTP).

Esto debería ser suficiente para comenzar, pero lo mencionaremos a lo largo del resto del artículo si algo más requiere su atención.

Cómo usar Git para impulsar su sitio local en vivo

Hay cuatro pasos que deberá seguir para configurar todo. Esto es lo que vamos a cubrir:

  1. Configuración de un repositorio de Git para su sitio local.
  2. Configuración de un repositorio Git remoto.
  3. Diciéndole a su repositorio de Git dónde necesita enviar cambios.
  4. Agregar un enlace remoto y enviar sus cambios en vivo.

Hay mucho por recorrer aquí, ¡así que comencemos!

1. Configure un repositorio Git para su sitio local

Si bien hay algunas formas de configurar los repositorios de Git, lo haremos mediante la línea de comandos, ya que es la forma más habitual. Con una ventana de Terminal abierta, primero navegue hasta el directorio local de su sitio:

Navegando a una carpeta local usando la Terminal y la línea de comando.

Para configurar la arquitectura necesaria para su repositorio de Git, ejecute los siguientes comandos uno a la vez:

 git init git add .

El primer comando creará el directorio que necesita y lo ocultará, mientras que el segundo agregará todos los archivos dentro del directorio de su sitio al área de preparación de Git; el punto es un modificador 'comodín':

Inicializar un repositorio de Git y agregar archivos usando la línea de comando.

Para ver qué archivos están en el área de preparación, use el comando de git status :

Ejecutando el estado de git para ver qué archivos están preparados.

Desde aquí, querrá realizar una confirmación inicial de estos cambios para completar su repositorio local. Haces esto usando el siguiente comando:

git commit -m "Initial commit."

El indicador -m le dice al comando que lo que sigue es su mensaje de confirmación. Deberá hacer esto de todos modos para cada confirmación, y es más sencillo hacerlo desde un solo lugar.

A partir de aquí, tienes todo configurado en tu ordenador. A continuación, es hora de trabajar en el servidor remoto.

2. Configure un Git Repo en el servidor en vivo de su sitio

El proceso aquí es similar a su configuración local, pero requiere que inicie sesión en su servidor usando SSH. Usar esto está más allá del alcance de este artículo, pero podemos indicarle una publicación de Tom McFarlin que describe los pasos que necesita. Alternativamente, siempre puede preguntarle a su anfitrión; no deberían tener problemas para mostrarle dónde están estas credenciales.

Una vez que inicie sesión en su servidor a través de la línea de comando, querrá navegar a un área privada de su servidor para que los usuarios externos no puedan acceder a su repositorio de Git. El directorio suele ser /private/ , aunque querrá preguntarle a su anfitrión sobre esto.

Dentro de este directorio, querrá crear otro directorio y navegar hasta él:

 mkdir remoterepo.git cd remoterepo.git

Siempre que el directorio use la extensión .git , puede llamarlo como quiera. Desde aquí, inicialice un nuevo repositorio git dentro del directorio, esta vez usando el indicador –bare:

git --bare init

Esto crea el repositorio que necesita sin los archivos del proyecto, lo cual es seguro y recomendado.

3. Cree un 'gancho' para su repositorio y establezca los permisos de archivo correctos

Mientras esté en el servidor, deberá crear un archivo para decirle a Git dónde enviar los cambios. Primero, ejecute el nano hooks/post-receive command . Esto abre un editor de línea de comando llamado Nano y crea el archivo en el directorio correcto.

Dentro de este archivo, agregue lo siguiente:

 #!/bin/sh GIT_WORK_TREE=/home/username/example.com git checkout -f

/home/user/example.com debe apuntar a la ubicación exacta de los archivos en vivo de su sitio. El nombre de username debe ser aquel con el que inició sesión en el shell, y example.com debe ser el dominio de su sitio en vivo. Una vez que hagas esto, guarda tus cambios.

El paso final aquí es establecer los permisos de archivo correctos para este archivo. Puede hacer esto usando el comando chmod +x hooks/post-receive . El comando Cambiar modo (chmod) es cómo establece los permisos de archivo desde la línea de comando: +x significa establecer permisos de ejecución .

Una vez que haga esto, escriba exit para salir del terminal remoto. Desde aquí, deberá regresar a su repositorio Git local dentro de la Terminal.

4. Agregue un enlace remoto a su repositorio local y envíe sus cambios locales en vivo

Aquí, navegue de regreso a su repositorio Git local usando el comando cd según sea necesario. Deberá agregar un enlace a su servidor remoto, para que ambos repositorios de Git puedan comunicarse entre sí. Lo harás con el siguiente comando:

git remote add origin ssh://[email protected]/~/remoterepo.git

La URL exacta del repositorio de Git dependerá de la ubicación que haya descubierto en el último paso. Por supuesto, sus credenciales de usuario y servidor reemplazarán los marcadores de posición aquí.

Ejecute este comando, luego prepárese para enviar sus cambios locales a su servidor en vivo. El siguiente comando hará esto sin confirmación, así que asegúrese de querer hacer esto:

git push -u origin main

Verá que la Terminal muestra un resumen de confirmación...

 Counting objects: 12, done. Delta compression using up to 2 threads. Compressing objects: 100% (2/1), done. Writing objects: 100% (13/13), 1200 bytes | 0 bytes/s, done. Total 12 (delta 0), reused 0 (delta 0)

…y en este punto puede verificar su sitio en vivo: los cambios deben estar presentes y ser correctos.

En resumen

Trabajar en su sitio web es una tarea necesaria y, a menudo, diaria. El uso de un entorno local es la forma típica de hacerlo, pero hay un problema: ¿cómo puede obtener esos cambios en su sitio en vivo sin errores y con la menor cantidad de complicaciones?

La respuesta podría ser usar Git para impulsar los cambios que realiza en su servidor en vivo. Esto le permite cargar solo archivos en los que realiza cambios, por lo que la mayor parte de su instalación, y base de datos, permanece como está. Si bien necesita algunos conocimientos y herramientas para que todo funcione, es un cambio en el flujo de trabajo que podría hacer que el desarrollo de su sitio local se dispare en productividad y eficiencia.

¿Crees que usarás Git para impulsar los cambios en el sitio local en vivo? ¡Háganos saber sus pensamientos en la sección de comentarios a continuación!