Conceptos básicos de Git.

Conceptos básicos de Git.

Antes de comenzar

A veces nos gusta inventar palabras tan locas y complejas sobre algunas tecnologías que es difícil seguirle el pie de que se está hablando.

En este articulo discutiré algunos conceptos que personalmente me causaron mucha confusión cuando estaba empezando con Git.

Git es una herramienta esencial cuando se trabaja en software, y en ocasiones algunos conceptos son difíciles de asimilar las primeras veces que trabajamos con él y pueden volverse muy confusos.

REPOSITORIO

Si googleas la difinición encontraras: Almacén o lugar donde se guardan ciertas cosas.

En el contexto de git, es un lugar donde tú puedes guardar tu proyecto una carpeta especial que tendrá un historial de cambios a los que git dará seguimiento (básicamente la carperta de tu proyecto) para crear un repositorio lo único que debes hacer es posicionarte desde una terminal en la carpeta de tu proyecto y teclear el comando git init

BRANCH (RAMAS)

Cuando creas un nuevo repositorio, se crea una branch (rama) que git nombrara como main o master esta rama es tu version principal del proyecto, apartir de esta branch se pueden crear otras que son copias exactas de la rama main, tú puedes nombrar las branch como quieras incluso con el nombre rama_final o rama_final_ahora_si o rama_final_final. Al tener varias ramas tienes varias copias de tu proyecto principal en las cuales puedes hacer modificaciones esto sin preocuparte de alterar el proyecto principal ya que git se encargará de gestionar esto, incluso puedes crear ramas de las ramas y asi hasta el infinito. para poder ver la rama en la que te encuentras actualmente basta con usar el comando git status.

MAIN O MASTER

Al trabajar con git puedes tener diferentes versiones de tu proyecto en diferentes ramas, en cada rama puedes tener errores y características diferentes como si dos proyectos diferentes se tratara, pero la primera versión de ese proyecto git la coloca en la rama main (anteriormente llamada master cambio su nombre debido a malinterpretaciones que pudo tener relacionadas a la esclavitud, aun veras el nombre de master en algunos repositorios) si deseas ver las ramas que tienes disponibles en tu repositorio local puedes usar el comando git branch el asterisco te mostrara la rama en la que estas posicionado.

AREAS DE TRABAJO

El flujo de trabajo en git se divide en tres áreas: área de trabajo, área de preparación y área de confirmación.

Working directory (area de trabajo):

En esta área es donde puedes modificar tu archivo o archivos de tu proyecto. Claro los puedes guardar, pero eso significa que solo lo guardaste en el área de trabajo. Una vez que tu cambio esté listo se pasa al are de preparación.

Staging area(área de preparacion tambien conocida como index ):

En esta área puedes darle otro vistazo antes de hacerle commit es decir pasarlos al área de confirmación en caso de querer modificarlos nuevamente o regresarlos al área de trabajo. Para ver tus archivos en el área de stagin o el área de preparación basta con teclear el comando git status que te mostrara entre otras cosas lo archivos de cada área.

Los verdes estan en el area de preparacion y los rojos en el area de trabajo.

Area de confirmacion:

En esta área es cuando ya has decido que tu cambio está listo para que git guarde el registro de ese cambio en su base de datos realizando un commit, de esta manera entrara dentro del historial de cambios y se registrara que cambios realizaste en ese momento. Para poder ver el historial de cambios que has realizado basta con escribir el comando git log o git log —online que te muestra una versión simplificada de tus commits.

COMMIT

Un commit es cuando confirmas que haz realizado un cambio de manera intencionada en tu proyecto, ya sea que hayas implementado una nueva característica o hayas reparado un bug, procura hacer commit cada vez que realices un cambio, es una buena práctica, ya que con ellos llevas un historial de los cambios que haz realizado dentro de una rama y podrás ver tu camino desde que inicio tu proyecto hasta tu ultimo cambio y conocer la razón por la que ocurrieron. Git asigna un identificador para cada commit de manera que, aunque pongas el mismo mensaje, git los pueda reconocer como commits diferentes, para realizar un commit solo debes realizar cambios a tu proyecto y guardarlos con el siguiente comando git commit -m “{mensaje}” donde mensaje es una frase que te ayude a describir el cambio que realizaste.

HEAD

El concepto de HEAD a veces es un poco confuso, pero se refiere al commit donde se encuentra posicionado tu repositorio. En este ejemplo he cambiado a la rama con nombre rama_final, en la que ya he realizado cambios y HEAD apunta a este último commit donde realice cambios.

MERGE

El concepto de merge puede tener un poco de complejidad al momento de trabajar con git ya que algunas son referidas como fusión (ya que básicamente eso es) y algunas otras presentar conflictos, cuando hablamos de merge nos referimos puntualmente a mezclar dos ramas.

Pongamos un ejemplo:

Imagina que tenemos un proyecto llamado HelloWorld que tiene dos rama, main(rama principal), y newFeature, haz estado trabajando en newFeature por un tiempo y has agregado 3 commit tu rama se vera algo similar a esto

como podrás notar la rama main aún se encuentra en la commit 6289fe7 mientras que newFeature ya tiene tres commits más (221c8fc, e8bd7e0, e8bd7e0) estas características solo están en tu rama newFeature. sí pasamos a la rama main podremos ver que los commits de la rama newFeature no existen.

y que main aún se encuentra en el commit 6289fe7, entonces para traernos los cambios que se encuentran en newFeature a main basta con un comando llamado git merge {nombre rama} para realizar esto. Ten en cuenta que debes posicionarte en la rama donde quieres fusionar cambios de esta manera nos traemos los cambios de newBranch a main.

Como puedes ver ahora los commits que estaban en new branch ahora están en main.

Estos son solo algunos conceptos cuando se empieza a trabajar con git, por lo cual algunos son básicos para comprenderlos, si buscas guias para interactuar o aprender con practica te dejo algunos links que te podrían ser de utilidad.

Conclusiones

Ahora que has llegado hasta aquí, te compartimos algunos recursos que te facilitarán aprender a usar Git.

Espero estos recursos sean útiles para aclarar algunos conceptos.

Si eres programador y te interesa potenciar tus conocimientos en programación, te invito a conocer a profundidad nuestro contenido y también la oportunidad de continuar desarrollándote con Metaphorce.mx, nuestra plataforma que busca desarrollar tu talento y posicionarte en empresas de alto prestigio a nivel internacional.

Nuestro equipo provee de soluciones y conocimiento en tecnologías de la información, gobierno de TI y Desarrollo de soluciones a la medida para tu organización. De esta manera nuestros servicios de consultoría y transformación digital aceleran a tu organización a alcanzar sus metas. No dudes en contactarnos.

Te invitamos a continuar leyendo más de nuestros artículos. ¿Tienes alguna sugerencia o duda respecto a los servicios de consultoría y transformación digital para acelerar a tu organización y alcanzar tus metas? No dudes en contactarnos.

Autor: Paul Cortés Quijano

Desarrollador Fullstack L2
smart city
Sigamos en contacto

Comparte este artículo y síguenos en nuestras distintas Redes Sociales

¿Iniciamos?

Conoce todas las soluciones tecnológicas para acelerar

la transformación digital de tu organización.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *