El control de versiones es algo que todos los desarrolladores de software deberían conocer. Te ayuda a administrar los cambios en tus proyectos o programas.

Este artículo te ayudará a aprender los conceptos básicos de Git y el control de versiones para colaborar y administrar de manera efectiva sus proyectos de software.

Contenido

Pre-requisitos

Supongo que ya tienes una cuenta en GitHub. Si no es así, dirígete a la página de GitHub para crear una.

También necesitarás descargar e instalar Git bash desde git-scm.com o gitforwindows.org (si trabajas en una PC con Windows).

Ahora sigamos adelante y aprendamos sobre el control de versiones.

¿Qué son Git y control de versiones?

Git es un sistema de control de versiones que se utiliza para dar seguimiento a los cambios que se realizan en un archivo o proyecto. Fue hecho por Linus Trovalds (el creador del sistema operativo Linux).

GitHub, por otro lado, es una plataforma de colaboración de código abierto basada en la nube que permite a los desarrolladores compartir software fácilmente y colaborar en diferentes proyectos.

Todos, desde proyectos de código abierto hasta equipos privados y proyectos individuales, puede utilizar GitHub. Sólo tienes que subir tu código y hacer un seguimiento de los cambios realizados en un proyecto para su uso futuro.

Resumiendo: El control de versiones es un sistema que registra los cambios en un archivo o conjunto de archivos a lo largo del tiempo para que pueda recuperar versiones específicas más adelante.

Configurando tu Git bash

Para el propósito de este tutorial, crearemos una nueva carpeta llamada primerospasosgit. La usaremos como nuestro repositorio local a lo largo de este artículo.

image-1
Una nueva carpeta creada solo para este tutorial de Git

Dentro de esta carpeta primerospasosgit, tenemos un archivo, index.html, que usaremos para las instancias. Lo puedes crear desde la línea de comandos o editor de texto favorito.

Puedes crear el tuyo escribiendo touch index.html dentro de la carpeta primerospasosgit (esto lo debes hacer desde Git bash) o puedes crear uno desde tu editor de texto.

image-6
Un nuevo archivo creado solo para este tutorial de Git

Ahora, preparemos nuestro entorno global de Git configurando nuestro nombre de usuario y correo electrónico (si es la primera vez que usas Git).

Abre Git bash, luego usa el comando git config --global user.name "Tu nombre " para configurar tu nombre de usuario y git config --global user.email "Tu correo electrónico" para configurar tu correo electrónico.

En la siguiente instancia, mi nombre de usuario de GitHub es JuanGuana, mientras que mi dirección de correo electrónico es juanc.guana@gmail.com.

image-4
Configurando Git en tu dispositivo

Para verificar si tu configuración ha sido agregada, escribe git config --global user.name para verificar tu nombre de usuario y git config --global user.email para verificar tu correo electrónico.

Si tu configuración fue exitosa, se mostrará tu nombre de usuario y dirección de correo electrónico una vez que ingreses estos comandos y presiones enter.

image-5
Comprobando tu configuración

Inicializando tu repositorio

Ahora querrás decirle a Git "Mira, esta es la carpeta o directorio donde quiero que Git trabaje en este momento".

Para inicializar un repositorio, asegúrese de estar en el directorio en el que estás trabajando. En mi caso aquí, es la carpeta primerospasosgit.

Luego escribe git init y presiona enter.

image-7
Inicializando Git en la carpeta primerospasosgit

Haciendo tu primer commit en Git

Hacer commit en Git es el equivalente a guardar cuando se trabaja en documentos. Es una forma de guardar la versión del documento, es decir, los cambios realizados en el repositorio y almacenarlos con una ID único y un mensaje.

El ID y el mensaje se pueden usar para rastrear la versión del proyecto que necesitas verificar. Esta es una de las diferencias entre git commit y guardar como.

Antes de hacer un commit, debes mandar los cambios en tu proyecto al área de staging. El staging es una forma de decirle al sistema: "Oye, hice muchos cambios en mi trabajo, pero éste, aquél y este otro son los que quiero guardar".

Entonces, cuando queremos enviar nuestros cambios a esta área, usamos el siguiente comando: git add nombre-de-los-archivos.

Si quieres agregar todos los archivos que se realizaron cambios, escribe git add . en su lugar. Solo asegúrate de estar dentro de la carpeta del proyecto.

image-8
Añadiendo archivo al área de staging

Después de agregar los archivos al área de staging, ahora puedes guardar tus cambios con un commit.

Debes hacer un commit de tus cambios utilizando mensajes de confirmación cortos pero detallados de esta manera: git commit -m "Tu mensaje corto"

image-9
Guardando los cambios con commit en Git

Para ver el estado de tu repositorio, saber en qué rama se encuentra, que archivos se modificaron, si el código está listo o no en el staging antes de hacer commit, simplemente usa el código: git status.

Creando una rama (branch) en Git

Digamos que estás trabajando en diferentes versiones de un proyecto o estás colaborando en un proyecto con algunos amigos o colegas. Es importante tener una rama llamada "master", que es la rama predeterminada para cada repositorio local, que almacena el código original y modificado de varios colaboradores.

Para colaborar o trabajar en varias versiones de un proyecto, tenemos que trabajar desde diferentes ramas.

Al trabajar en ramas, no solo es posible trabajar en múltiples versiones del código en paralelo, sino que también mantiene la rama principal libre de código cuestionable.

Entonces, para nuestro proyecto primerospasosgit, podemos tener varias ramas, cada una con una versión diferente del código.

Para crear una nueva rama en Git, usa el comando git branch nombre-de-la-rama.

Para revisar o cambiarse a la nueva rama, usa git checkout nombre-de-la-rama.

image-10
Creando ramas en Git

Los 2 comandos anteriores se pueden realizar simultáneamente con el comando: git checkout -b nombre-de-otra-rama.

image-11
Creando y cambiando de ramas en Git

Regresando a un commit

Aquí viene otra cosa muy interesante sobre Git: la capacidad de revertir los cambios que ha realizado con el tiempo, algo que CTRL + Z no puede hacer.

Mientras trabajamos con Git, es posible que quieras volver a un estado particular de tu código, o incluso volver a una versión anterior de tu trabajo. Puedes hacer esto volviendo a un commit en particular.

Cada commit que hacemos tiene un ID único adjunto. Para obtener este ID, puedes escribir git log.

image-12
Log de Git

Alternativamente, la salida anterior se puede registrar en una línea usando git log --oneline.

image-13
Log de Git en una linea

De lo anterior, puedes ver el ID y los mensajes para cada uno de los commits.

Para regresar a un commit anterior, escribe git revert commit-ID.

Este comando regresa al estado de ese código en el momento de ese commit.

image-14
Regresando a un commit anterior

Creando un repositorio remoto

Para crear un repositorio remoto, abriremos nuestra cuenta de GitHub y haremos clic en el botón New (como usuario de GitHub por primera vez, probablemente verás el botón verde Create Repository en su lugar).

image-15
Creando un nuevo repositorio remoto

De cualquier manera que lo hagas, te llevará a la página donde ingresas el nombre de su repositorio y una descripción de tu proyecto.

También te da la opción de hacer que tu repositorio sea privado o público. Puedes inicializar tu repositorio con un archivo README marcando la casilla de verificación.

image-16
Creando un repositorio remoto en GitHub

Al hacer clic en Create repository, se creará un nuevo repositorio con una URL única.

Sincronizando tu repositorio remoto con tu repositorio local

Ahora que hemos creado nuestro repositorio remoto, tenemos que sincronizarlo con nuestro repositorio local para que ambos puedan comunicarse sin problemas.

GitHub nos ayuda a cargar un repositorio local de diferentes maneras, en nuestro caso utilizaremos las siguientes indicaciones.

image-17
Instrucciones de GitHub

Abre tu Git bash, navega hasta la carpeta en la que estás trabajando e ingresa las líneas de código indicadas por GitHub.

image-18
Cargando el repositorio local en el repositorio remoto

Desde hace un tiempo la rama principal en GitHub tuvo un cambio y paso de llamarse "master" a "main".

Actualizando tu repositorio de Git (local y remoto)

Sigamos adelante y agreguemos algo de código a nuestro archivo HTML:

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
  </head>
  <body>
    <label for="inputEmail" class="sr-only">Correo Electrónico</label>
    <input
      type="email"
      class="form-control"
      id="inputEmail"
      placeholder="Contraseña"
    />
  </body>
</html>               

Repitamos el proceso de enviar nuestros cambios a staging y guardar nuestros cambios con un commit: git add index.html‌‌, git commit -m "formulario agregado"

En este momento, nuestro repositorio local está un commit por delante del repositorio remoto.

Para actualizar el repositorio remoto, tendremos que enviar nuestro trabajo desde el repositorio local al repositorio remoto usando el comando: git push origin main, "main" es la rama predeterminada para cada repositorio remoto y la mayoría de las veces alberga el código principal del proyecto

image-19
Agregando cambios en nuestro repositorio

También puedes optar por crear o modificar una rama si, por ejemplo, creaste una nueva función, pero te preocupa realizar cambios en el proyecto principal.‌‌

Siempre puedes usar git branch para confirmar las ramas en este repositorio. El nombre de la rama con asterisco al lado indica a qué rama está apuntado en un momento dado.

image-20
Listando las ramas del repositorio

También puedes enviar cambios desde otra rama a tu repositorio remoto con git push origin nombre-de-la-rama.

Cuando envías tus cambios al repositorio remoto, GitHub creará automáticamente la rama por ti en tu repositorio remoto. Esto permite que las personas vean los cambios que has realizado.

También es posible que quieras actualizar alguna rama con el contenido de alguna rama remota.

Puedes hacer esto cambiándote a la rama deseada y ejecutando git pull origin main. Esto actualiza la rama actual con todos los cambios implementados en la rama remota.

image-21
Actualizando la rama local con cambios en la rama remota

¿Qué significa "origin"?

Origin es un nombre abreviado para el repositorio remoto desde el que se clonó originalmente un proyecto. Más precisamente, se utiliza en lugar de la URL del repositorio original y facilita su referencia.

Entonces, para enviar los cambios al repositorio remoto, puedes usar cualquiera de los siguientes comandos: git push origin nombre-de-la-rama o git push https://github.com/nombre-de-usuario/nombre-del-repositorio.git nombre-de-la-rama‌‌.

Ten en cuenta que te puede solicitar que ingreses tu nombre de usuario y contraseña. Tu contraseña no se mostrará cuando la ingrese. Simplemente escríbelo correctamente y presione enter.

Conclusión

Acabamos de ver una guía paso a paso para usar Git por primera vez. No dudes en consultarlo cuando te quedes atascado.

No es necesario que memorices los comandos; podrá recordarlos con el tiempo. :)

‌¡Eso es todo por ahora!

Traducido del artículo de Amarachi Emmanuela Azubuike - Learn Git and Version Control in an Hour