Guía Completa de Comandos Básicos para Dominar Git

Git es una de las herramientas más utilizadas en el desarrollo de software para control de versiones. En esta guía, se incluyen los comandos más básicos y esenciales para dominar Git y gestionar tus proyectos de forma eficiente.

Configuración Inicial

Antes de comenzar a usar Git, debes configurarlo con tu nombre y correo electrónico, ya que Git usa esta información para realizar un seguimiento de los cambios.

bash
git config --global user.name "Tu Nombre"
git config --global user.email "tu.email@dominio.com"

Creación de Repositorios


Crear un nuevo repositorio

Para crear un nuevo repositorio vacío en tu máquina local:

bash
git init

Clonar un repositorio existente

Si deseas clonar un repositorio remoto:

bash
git clone <url-del-repositorio>

Ejemplo:

bash
git clone https://github.com/usuario/repo.git

Estado del Repositorio


Ver el estado del repositorio

Este comando te muestra qué archivos han cambiado, cuáles están preparados para el commit y cuáles no.

bash
git status

Ver los cambios en los archivos Para ver los cambios realizados en los archivos que no han sido confirmados:

bash
git diff

Trabajando con Archivos


Añadir archivos al área de preparación

Para agregar un archivo o todos los archivos al área de preparación antes de realizar un commit:

bash
git add archivo.txt
git add .  # Agregar todos los archivos modificados

Hacer un commit

Para guardar los cambios en el repositorio, realiza un commit:

bash
git commit -m "Mensaje de commit"

Ver el historial de commits

Para ver el historial de commits realizados en el repositorio:

bash
git log

Puedes usar opciones adicionales como --oneline para una vista más compacta:

bash
git log --oneline

Trabajando con Ramas (Branches)


Crear una nueva rama

Para crear una nueva rama:

bash
git branch nombre-de-rama

Cambiar de rama

Para cambiar a otra rama:

bash
git checkout nombre-de-rama

Crear y cambiar a una nueva rama en un solo comando

bash
git checkout -b nombre-de-rama

Ver todas las ramas

Para ver todas las ramas locales en tu repositorio:

bash
git branch

Eliminar una rama

Para eliminar una rama:

bash
git branch -d nombre-de-rama

Sincronización con Repositorio Remoto


Ver los repositorios remotos

Para ver los repositorios remotos asociados al proyecto:

bash
git remote -v

Agregar un repositorio remoto

Para agregar un repositorio remoto:

bash
git remote add origin <url-del-repositorio>

Subir cambios al repositorio remoto

Para subir tus cambios a un repositorio remoto, generalmente a la rama principal (master o main):

bash
git push origin main

Si estás trabajando en una rama diferente, reemplaza main con el nombre de tu rama.

Obtener los cambios del repositorio remoto

Para obtener los cambios realizados en el repositorio remoto y fusionarlos con tu rama local:

bash
git pull origin main

Obtener solo los cambios sin fusionar

Si solo quieres obtener los cambios sin fusionarlos automáticamente:

bash
git fetch

Revertir Cambios


Descartar cambios en un archivo

Si deseas descartar cambios en un archivo específico que aún no se ha confirmado:

bash
git checkout -- archivo.txt

Deshacer el último commit (sin perder los cambios)

Si has realizado un commit y deseas deshacerlo sin perder los cambios:

bash
git reset --soft HEAD~1

Deshacer el último commit y los cambios

Para deshacer el último commit y todos los cambios realizados:

bash
git reset --hard HEAD~1

Resolución de Conflictos


Los conflictos pueden ocurrir cuando Git no puede fusionar dos cambios automáticamente. Aquí hay algunas formas de resolverlos:

Ver los archivos en conflicto

Después de un git pull o git merge, si hay conflictos:

bash
git status

Resolver el conflicto manualmente

Abre los archivos en conflicto y resuélvelos. Luego, marca el conflicto como resuelto:

bash
git add archivo-conflictivo

Finalizar la fusión

Una vez resueltos los conflictos, puedes finalizar la fusión con un commit:

bash
git commit

Otras Operaciones Útiles


Ver los cambios de un commit específico

Si quieres ver los cambios realizados en un commit específico:

bash
git show <id-del-commit>

Buscar en el historial de commits

Para buscar un commit específico en el historial:

bash
git log --grep="mensaje de commit"

Etiquetas (Tags)

Para crear una nueva etiqueta:

bash
git tag -a v1.0 -m "Primera versión"

Ver todas las etiquetas

bash
git tag

Eliminar una etiqueta

bash
git tag -d v1.0

Repositorios en GitHub


Crear un repositorio en GitHub

Si ya tienes un repositorio local y quieres subirlo a GitHub:

1Crea un repositorio en GitHub (vacío).
2Añade el repositorio remoto:
bash
git remote add origin https://github.com/usuario/nuevo-repo.git
3Sube tus cambios:
bash
git push -u origin main

Comandos Útiles Adicionales

  • git help <comando>: Muestra la ayuda para un comando específico de Git.
  • git config --list: Muestra todas las configuraciones de Git.
  • git stash: Guarda temporalmente los cambios no confirmados y limpia el directorio de trabajo.
  Conclusión

Dominar Git es fundamental para trabajar de manera efectiva en proyectos de desarrollo colaborativo.