Los sistemas de control de versiones sirven para tener un registro de los cambios realizados en un sistema de archivos. Sus siglas son VCS que significa Version Control Sistem. Un VCS utiliza snaphots para almacenar el estado en que se encuentran los archivos en el momento que fueron creados, también registra más metadata que ayuda a identificar al autor de los cambios.

Un VCS es utilizado para poder trabajar de forma colaborativa en un proyecto de software, esto permite crear nuevas ramas o versiones de una misma aplicación para agregar nuevas funcionalidades o resolver problemas, sin modificar la versión original del proyecto. Una vez finalizados los cambios, se integran a la versión original.

GIT

GIT es un sistema de control de versiones estándar, su modelo de datos utiliza snapshots para representar el estado de los cambios realizados. Los directorios son representados como “tree” y los archivos como “blob”.

Comandos básicos de GIT

A continuación, el listado de comandos básicos para utilizar Git:

Git help

Sirve para obtener el listado de comandos CLI disponibles, también es posible escribir el nombre del comando para obtener información detallada.

git help
git help <comando>

Registrar nuestros datos

Después de realizar la instalación de Git es necesario indicar que usuario lo utilizará, los siguientes comandos permiten establecer el correo electrónico y nombre del autor de cada commit:

git config --global user.email "jose@elconspirador.com"
git config --global user.name "Jose Pablo"

Crear nuevo repositorio

Este comando crea un nuevo repositorio en la carpeta indicada, es el primer comando que debemos de utilizar para empezar a registrar comandos.

git init

Agregar cambios y archivos al repositorio

Una vez creado el repositorio, es necesario agregar archivos. Esto se puede hacer especificando de forma individual cada archivo o carpeta, o es posible utilizar el símbolo * para agregar todo lo que tenemos en la carpeta:

git add <archivo o carpeta>
git add *

Crear un commit

Una vez se han agregado los archivos al repositorio, es necesario crear un commit o snapshot del estado actual del sistema de archivos registrado, esto se hace con el siguiente comando:

git commit

Crear y unir ramas

Los comandos necesarios para poder crear y unir ramas en Git son los siguientes:

Listar todas las ramas

El siguiente comando listará todos los branches creados en el repositorio, indicará con el símbolo * cual es el branch con el que se está trabajando actualmente:

git branch

Crear una rama

El siguiente comando crea una nueva rama en el repositorio:

git branch <nombre de la nueva rama>

Para pasar el puntero actual a la nueva rama, se debe de utilizar el siguiente comando:

git checkout <nombre de la nueva rama>

También es posible crear la rama y pasar el puntero a la rama creada con el siguiente comando:

git checkout -b <nombre de la nueva rama>

Unir ramas

Para poder unir la rama actual con otra, se utiliza el siguiente comando:

git merge <rama a unir>

Trabajando con repositorios remotos

Para trabajar colaborativamente con otras personas es necesario utilizar repositorios remotos. Estos sirven para mantener sincronizado el código de nuestro proyecto, y permitir que otras personas descarguen el repositorio, realicen cambios y mantengan sus versiones sincronizadas con el repositorio remoto.

Listar repositorios remotos

El siguiente comando lista todos los repositorios remotos agregados al repositorio local:

git remote

Agregar un repositorio remoto

Este comando agrega un repositorio remoto al repositorio local. El valor <ruta o url> puede ser una ruta en otro directorio, por ejemplo C:\\SHARED-FOLDERS\mi-repo o bien una dirección URL de Github.

git remote add <nombre> <ruta o url>

Enviar los cambios de un repositorio local a uno remoto

Una vez agregado el repositorio, se debe de enviar el repositorio local para que otras personas puedan acceder al proyecto, descargarlo y subir sus cambios:

git push <nombre de repositorio remoto> <rama local>:<rama remota>

Sincronizar repositorio remoto con local

Para descargar los cambios de un repositorio remoto y unirlo a la rama actual, se deben de utilizar los siguientes comandos:

git fetch
git merge

Estos comandos utilizarán el repositorio remoto registrado en git, y lo unirán a la rama actual. El siguiente comando sirve para realizar las dos acciones de una sola vez:

git pull

Referencias

https://missing.csail.mit.edu/2020/version-control/