Sistemas Operativos, Tutoriales

Comandos de GIT Básicos – Guía Completa

02/2024
3:07 pm

Git, el sistema de control de versiones que revolucionó el desarrollo de software, se ha convertido en un pilar fundamental para cualquier desarrollador. Concebido por Linus Torvalds en 2005 para gestionar el desarrollo del kernel de Linux, Git ha evolucionado hasta convertirse en una herramienta esencial para la colaboración y el seguimiento de cambios en proyectos de cualquier tamaño.

¿Qué es Git y por qué lo necesitas?

Git es un sistema de control de versiones distribuido, una suerte de “historial” que rastrea los cambios en el código fuente, permitiendo a los equipos colaborar de manera eficiente en proyectos. Su importancia radica en su capacidad para:

  • Repositorio

Almacena todos los cambios históricos de un proyecto.

Puede ser local o remoto, siendo este último especialmente útil para la colaboración.

  • Commit

Cada commit representa una instantánea de los cambios realizados en el código.

Etiquetado con un mensaje descriptivo que resume los cambios efectuados.

  • Rama (Branch)

Permite el desarrollo independiente de nuevas características o correcciones sin afectar la rama principal.

Facilita el desarrollo paralelo y la gestión de versiones.

  • Fusión (Merge)

Combina los cambios de una rama en otra, crucial para incorporar nuevas características a la rama principal.

  • Conflicto de Fusión (Merge Conflict)

Se produce cuando Git no puede fusionar automáticamente cambios debido a conflictos en el código.

  • Pull Request (Solicitud de extracción)

Permite a los desarrolladores proponer cambios en un repositorio para su revisión antes de fusionarse en la rama principal.

Comandos básicos de Git y ejemplos de uso

Para aprovechar al máximo Git, es imprescindible conocer algunos comandos básicos:

  • git init: Inicia un nuevo repositorio de Git en un directorio.

csharp

git init

  • git clone: Clona un repositorio remoto en tu máquina local.

bash

git clone <URL_del_repositorio>

  • git add: Agrega archivos al área de preparación para el próximo commit.

csharp

git add archivo.txt

  • git commit: Crea un nuevo commit con los cambios en el área de preparación.

sql

git commit -m “Mensaje descriptivo del commit”

  • git status: Muestra el estado actual del directorio de trabajo y del área de preparación.

lua

git status

  • git log: Muestra el historial de commits.

bash

git log

  • git pull: Obtiene los cambios más recientes del repositorio remoto y los fusiona en tu rama local.

git pull origin nombre_de_rama

  • git push: Sube tus commits locales al repositorio remoto.

perl

git push origin nombre_de_rama

  • git branch: Muestra una lista de ramas en el repositorio.

git branch

  • git checkout: Cambia entre ramas o versiones anteriores de archivos.

git checkout nombre_de_rama

  • git merge: Fusiona cambios de una rama en otra.

sql

git merge nombre_de_rama

  • git remote: Muestra la lista de repositorios remotos configurados.

git remote -v

  • git diff: Muestra las diferencias entre archivos en el directorio de trabajo y el área de preparación.

git diff

  • git reset: Deshace cambios en el área de preparación o en el directorio de trabajo.

perl

git reset archivo.txt

Explorando más allá: Funcionalidades avanzadas de Git

Además de los comandos básicos, Git ofrece una amplia gama de funcionalidades avanzadas que pueden potenciar aún más tu flujo de trabajo:

  • Rebase: Reescribe el historial de commits para mantener una línea de tiempo más limpia y ordenada.

php

git rebase <rama_base>

  • Cherry-pick: Selecciona commits específicos de una rama y los aplica en otra.

php

git cherry-pick <ID_del_commit>

  • Stash: Guarda temporalmente cambios no preparados para poder trabajar en otra tarea.

git stash

  • Submódulos: Permite incluir otros repositorios como subdirectorios dentro de tu propio repositorio.

csharp

git submodule add <URL_del_submódulo>

  • Hooks (Ganchos): Scripts que se ejecutan automáticamente en eventos específicos de Git, como antes o después de un commit.

bash

.git/hooks/

  • Filtrado de Contenido: Permite eliminar archivos o carpetas específicas del historial de Git.

python

git filter-branch –tree-filter ‘rm -rf carpeta’ HEAD

  • Git bisect: Ayuda a identificar el commit que introdujo un error mediante una búsqueda binaria.

sql

git bisect start

  • Revert: Crea un nuevo commit que deshace los cambios introducidos por un commit anterior.

php

git revert <ID_del_commit>

  • Alias: Crea atajos para comandos de Git largos o frecuentemente utilizados.

csharp

git config –global alias.co checkout

  • Reflog: Registra todos los cambios en las referencias de Git, útil para recuperar commits perdidos.

git reflog

Estas funcionalidades avanzadas te permiten manejar situaciones más complejas y optimizar tu flujo de trabajo en el desarrollo de software.

Conclusión

En resumen, Git es una herramienta imprescindible para cualquier desarrollador, tanto para proyectos individuales como para colaborativos. Su capacidad para rastrear cambios, trabajar en equipo de manera eficiente y gestionar proyectos de cualquier tamaño lo convierte en un componente fundamental en el proceso de desarrollo de software.

Dominar los comandos básicos de Git es solo el primer paso. Explorar las funcionalidades avanzadas te permitirá aprovechar al máximo esta poderosa herramienta y convertirte en un desarrollador más eficiente y productivo. Con práctica y dedicación, Git se convertirá en tu mejor aliado en el mundo del desarrollo de software.

Compartir:
Noticias relacionadas
Más sobre Sistemas Operativos, Tutoriales