Git, Github y control de versiones

Nov 28 2022
En este artículo, daré una descripción general del control de versiones, por qué es indispensable para todos los desarrolladores y le diré cómo comenzar. ¿Qué es el control de versiones? Por lo tanto, el control de versiones, también conocido como control de código fuente, es la práctica de rastrear y administrar los cambios en los archivos.

En este artículo, daré una descripción general del control de versiones, por qué es indispensable para todos los desarrolladores y le diré cómo comenzar.

¿Qué es el control de versiones?

Por lo tanto, el control de versiones, también conocido como control de código fuente, es la práctica de rastrear y administrar los cambios en los archivos.

Lo que esto significa básicamente es que, como desarrollador, al programar un sitio web, una aplicación o una pieza de software, es útil tener la capacidad de volver a ciertos puntos de su desarrollo.

Piense en ello como un punto de control en un videojuego, el control de versiones es básicamente como tener puntos de control en desarrollo y poder volver a cualquier 'versión' que desee por cualquier motivo.

Lo bueno del control de versiones es que funciona incluso si hay varias personas trabajando en el mismo proyecto, registra y realiza un seguimiento de la contribución de todos.

El control de versiones se puede practicar con cualquier tipo de archivo pero, como desarrolladores, lo usamos principalmente para el código de software.

Sistemas de control de versiones

Los sistemas de control de versiones son sistemas que nos permiten implementar el control de versiones registrando los cambios realizados en los archivos, identificando quién hizo esos cambios, cuándo se realizaron y nos da la capacidad de aceptar dichos cambios o volver a versiones anteriores del archivo.

Hay muchos sistemas de control de versiones como GIT, Mercurial y CVS, pero Git es sin duda el sistema más popular y ampliamente utilizado, así que le echaremos un vistazo a Git.

GIT

Git hace todo lo que haría un gran sistema de control de versiones, rastrea los cambios en el código, quién hizo dichos cambios y hace posible la colaboración de código entre los desarrolladores.

Git trabaja de la mano con un sitio web llamado Github.

Github es una plataforma de alojamiento de código en línea que se utiliza para el control de versiones y la colaboración. Con GitHub puedes trabajar en un proyecto con otros desarrolladores en cualquier parte del mundo.

Git se usa básicamente para trabajar dentro de su IDE en su sistema y GitHub es una plataforma que permite que múltiples desarrolladores de todo el mundo colaboren en el código.

Primeros pasos con Git y Github

Lo primero que debe hacer es descargar e instalar git en su computadora.

Para hacer eso, simplemente vaya a https://git-scm/downloads, seleccione su sistema operativo y siga las instrucciones.

La instalación de Git puede llevar un tiempo, así que mientras eso sucede en segundo plano, vayamos a GitHub y creemos una cuenta en GitHub.com.

Una vez que se haya instalado git en su dispositivo, podemos comenzar.

Verá muchos paréntesis () en el futuro, estos solo se usan para alojar los comandos, así que omítalos cuando ejecute los comandos.

Configura tu Git

Abre la terminal de tu computadora y escribe (git —version)

Hacemos esto para asegurarnos de que realmente tenemos git instalado correctamente, si la instalación salió bien, le mostrará qué versión de git ha instalado

A continuación, debemos configurar git, debemos decirle a git quiénes somos, usando nuestro nombre y dirección de correo electrónico. Es recomendable usar el mismo nombre que usó para crear su cuenta de GitHub cuando configuró git en su sistema.

Ingrese a la línea de comando (git config —global user.name “su nombre”)

Luego (git config — global user.email “tu dirección de correo electrónico”)

Esto le dice a git cuál es su nombre y dirección de correo electrónico, estos detalles se asociarán con su código en el futuro.

Para verificar y asegurarnos de que hicimos la configuración correctamente, usamos el comando (Git config —global —list)

Esto mostrará el nombre y la dirección de correo electrónico que acaba de registrar.

¡Estaban en! Ahora veamos cómo vuela.

Practiquemos el uso de git para rastrear un archivo.

Git, en la práctica

Cree un archivo llamado 'project.html' y ábralo en su editor de texto.

Yo uso y recomiendo código vs.

  • (Git init) — Inicialización

Abra la terminal en código vs y use el comando (git init)

Hacemos esto cada vez que creamos un nuevo archivo que queremos que git sepa y rastree.

  • (Estado de Git): comprobar el estado de un archivo

Para verificar el estado de nuestro archivo, usamos el comando (git status)

Esto nos mostrará el estado de nuestros archivos en ese momento.

Mostrará los archivos que están siendo rastreados y monitoreados y aquellos que no.

Nuestro archivo project.html debería aparecer en letras rojas debajo de 'archivos sin seguimiento:'

  • (Git add filename) — Puesta en escena de un archivo

Ahora git debería estar rastreando nuestro archivo. Para confirmar esto, usemos el comando (estado de git), deberíamos ver nuestro archivo en letras verdes debajo de 'cambios por confirmar:'

Cada vez que realice un cambio en su archivo, deberá organizarlo con el comando (git add project.html) para que se mantenga actualizado en git.

  • (Git add .) — ​​Puesta en escena de múltiples archivos
  • (git commit) — Cómo hacer commit [crear un punto de control].

Para hacer esto usamos el comando (git commit -m “nombra tu punto de control”)

Al confirmar archivos, debe asignar un nombre a esa confirmación para que pueda identificarla más adelante si desea volver a visitarla.

Ramificación en git

Imagine un escenario en el que está escribiendo código y llega a un punto en el que tiene que tomar dos rutas posibles, tal vez la ruta A tendrá el logotipo en rojo y la ruta B tendrá el logotipo en azul. Bueno, con git realmente no tienes que elegir, ¡puedes tener ambos!

Lo que hacemos en este caso es crear lo que llamamos una rama, creará una copia, una rama del código que ya tienes en la que puedes seguir trabajando independientemente de la rama original.

  • (Git branch nameofbranch) — haciendo una rama
  • (Rama de Git): muestra todas las ramas

Debería mostrarte la rama principal llamada 'maestro' por defecto y cualquier otra rama que hayas creado.

  • (Git checkout nameofbranch) — cambiar entre sucursales

Esto lo cambiará a la rama especificada y le dirá exactamente eso en la terminal.

Siempre puedes confirmar en qué rama estás en cualquier momento usando el comando (git status)

Github — git, pero con colegas.

Ahora veamos GitHub, cómo podemos usarlo para alojar nuestro código en línea y cómo ayuda con la colaboración entre desarrolladores.

Conexión de un repositorio de Git a GitHub

Vaya a github.com, regístrese o inicie sesión en la cuenta que ya creó y cree un nuevo repositorio.

Al crear este repositorio, se le darán algunas opciones.

  • Crear un nuevo repositorio en la línea de comando
  • Empuje un repositorio existente desde la línea de comando Y
  • Importar código de otro repositorio

La segunda opción debe tener una línea de código con un enlace adjunto, debe parecerse a git remote add origin repositoryUrl.

Copie y pegue eso en nuestra terminal dentro del código vs.

Esto conecta nuestro repositorio sin conexión a nuestra cuenta de GitHub, ahora se puede ver en GitHub y otros pueden trabajar en él.

  • (Git branch -M main) — Cambiar el nombre de nuestra rama predeterminada en Git

Este es un cambio opcional pero muy recomendable.

Para cambiar el nombre de nuestra rama predeterminada de 'maestro' a 'principal', usa el comando (git branch -M main).

Empujar y jalar

  • (git push -u origin main) — código de inserción

Esto empujará nuestro código desde nuestro repositorio git local a GitHub, después de lo cual debería ver su código en GitHub y puede compartir el enlace con cualquier persona que desee para que puedan revisarlo y realizar los cambios que deseen.

De la misma manera que puede enviar su código a Internet, también podemos extraer el código de GitHub a su repositorio local.

Esto es especialmente útil una vez que comienza a colaborar en proyectos con otras personas, es posible que hayan realizado cambios en el proyecto y puede "extraer" su código de GitHub de esta manera.

  • (git pull origin main) — código de extracción

Esto abrirá la rama principal de su repositorio y, a menos que alguien haya realizado cambios en el repositorio en línea, debería decir 'ya actualizado'.

Puede extraer otras ramas reemplazando 'principal' con el nombre de la rama que desea extraer.

  • Clonación (git clon 'repositoryurl')

Vaya a su repositorio de destino y toque el botón de código y se desplegará un menú para elegir.

Copie el enlace https allí.

Cree una carpeta en su sistema y cree un terminal dentro de la carpeta en la que desea clonar el repositorio.

Esto abrirá la terminal de su sistema.

Usa el comando (git clon 'repositoryurl')

Si el proceso de clonación fue exitoso, debería ver la carpeta clonada y todos los archivos involucrados dentro de la carpeta que creó y cuando abra esa carpeta en vs code, verá el repositorio en todo su esplendor.

Flujo de trabajo Git

Estas son algunas de las mejores prácticas al usar git y GitHub para garantizar una colaboración adecuada.

  • No trabaje desde la rama principal.
  • Tire antes de empujar
  • Creación de una solicitud de extracción (PR para abreviar)

Una vez que envíe su rama a GitHub, debe realizar una solicitud de extracción para que su código pueda revisarse y fusionarse en la rama principal del repositorio.

Cada vez que haga un pr, le mostrará la rama a la que desea que lo lleven y su rama una al lado de la otra para que pueda comparar y asegurarse de que todo encaje y que no haya errores antes de seguir adelante.

  • Agregar revisores

Después de pasar por esta breve explicación, me gustaría pensar que ahora tiene una idea de los conceptos básicos del control de versiones con Git.

Gracias por tomarse el tiempo para leer este artículo.

Si tiene alguna pregunta o corrección, déjeme un comentario a continuación o comuníquese conmigo a [email protected]

¡¡Feliz Programación!!