🚀 Guía completa de Git: qué es, cómo funciona y cómo usarlo paso a paso



https://user-images.githubusercontent.com/1256329/80170009-f9d03200-85b4-11ea-94d3-3041887565ac.png


Contenido del curso:


🧩 1. Fundamentos


1️⃣ Qué es Git y cómo funciona internamente


2️⃣ Git vs GitHub vs GitLab


3️⃣ Cómo instalar Git en Linux, Windows y Mac


⚙️ 2. Flujo de trabajo con Git


4️⃣ Flujo básico de Git (add, commit, push, pull)

5️⃣ Cómo funcionan las ramas (branching explicado fácil)

6️⃣ Merge vs Rebase (clave SEO)

7️⃣ Cómo resolver conflictos en Git


🚀 3. Trabajo en equipo (muy importante)


8️⃣ Cómo trabajar en equipo con Git

9️⃣ Pull requests: qué son y cómo usarlos

🔟 Buenas prácticas en repositorios Git


🧨 4. Errores comunes


1️⃣1️⃣ Errores comunes en Git y cómo solucionarlos

1️⃣2️⃣ Cómo deshacer cambios en Git (reset, revert, checkout)


🔐 5. Avanzado


1️⃣3️⃣ Git stash explicado fácil

1️⃣4️⃣ Git log y cómo leer el historial

1️⃣5️⃣ Git hooks (nivel pro)


🌍 6. Casos reales


1️⃣6️⃣ Flujo de trabajo Git en proyectos reales

1️⃣7️⃣ Cómo usar Git en producción sin romper nada





Si trabajas en desarrollo, tarde o temprano te encuentras con Git. Y no es casualidad.

Git es la herramienta más importante para gestionar código hoy en día.

Pero aquí está el problema:

Muchos saben usar comandos básicos…

pero no entienden realmente cómo funciona.

Y eso marca la diferencia entre:

  • alguien que “usa Git”
  • y alguien que domina Git 🧠


🧠 Qué es Git (explicado fácil)


Git es un sistema de control de versiones distribuido.

Esto significa que permite:

  • Guardar cambios en tu código 📂
  • Volver a versiones anteriores ⏪
  • Trabajar en equipo 👥
  • Crear diferentes versiones del proyecto (ramas) 🌿

🧾 Historia rápida


Git fue creado en 2005 por Linus Torvalds, el mismo creador de Linux.

Su objetivo:

Crear una herramienta rápida, distribuida y eficiente para gestionar el código del kernel de Linux.

Hoy en día, Git es el estándar en desarrollo.



⚙️ Cómo funciona Git realmente

https://miro.medium.com/1%2AdiRLm1S5hkVoh5qeArND0Q.png


Git trabaja con 3 áreas principales:



1️⃣ Working Directory (tu carpeta)


Es donde trabajas normalmente:

  • editas archivos
  • creas código
  • haces cambios

2️⃣ Staging Area (zona intermedia)


Aquí preparas los cambios que quieres guardar.

👉 No todo lo que cambias se guarda automáticamente.



3️⃣ Repository (repositorio)


Es donde Git guarda los cambios definitivamente.

Cada guardado se llama:

commit

🔁 Flujo básico


editar archivo → git add → git commit → git push

🧪 Cómo instalar Git


Linux (Debian/Ubuntu)

sudo apt update
sudo apt install git

Verificar instalación

git --version

⚡ Configuración inicial


Antes de usar Git:

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

Esto es importante porque:

👉 Cada commit guarda tu identidad.



📦 Crear tu primer repositorio


git init

Esto crea un repositorio en tu carpeta actual.



✍️ Primer flujo completo (paso a paso)


1️⃣ Crear archivo

touch app.php

2️⃣ Ver estado

git status

3️⃣ Añadir cambios

git add app.php

4️⃣ Hacer commit

git commit -m "Primer commit"

5️⃣ Ver historial

git log

🌍 Trabajar con repositorios remotos


Git se usa mucho con plataformas como:

  • GitHub
  • GitLab

Conectar repositorio remoto

git remote add origin URL_DEL_REPO

Subir cambios

git push -u origin main

Descargar cambios

git pull

🌿 Ramas (branches) explicado fácil


Las ramas permiten trabajar en diferentes versiones del proyecto.

Ejemplo:

  • main → versión estable
  • feature-login → nueva funcionalidad

Crear rama

git branch nueva-rama

Cambiar de rama

git checkout nueva-rama

Crear y cambiar

git checkout -b nueva-rama

🔀 Merge (unir ramas)


git merge nueva-rama

Esto une los cambios en la rama actual.



⚠️ Conflictos en Git


Ocurren cuando:

  • dos personas editan lo mismo
  • Git no sabe qué versión usar

Solución:

  • editar manualmente
  • decidir qué código mantener
  • hacer commit

🧠 Conceptos clave que debes entender


Commit

Una “foto” del proyecto en un momento.



Branch

Una línea de desarrollo independiente.



Merge

Unir cambios.



Clone

Copiar repositorio:

git clone URL

Pull

Traer cambios del servidor.



Push

Enviar cambios.



🚀 Buenas prácticas en Git


✔️ Haz commits pequeños

✔️ Usa mensajes claros

✔️ No subas archivos innecesarios

✔️ Usa .gitignore

✔️ Trabaja con ramas


📌 Ejemplo real de flujo de trabajo


  1. Crear rama nueva
  2. Hacer cambios
  3. Commit
  4. Push
  5. Merge a main

🧠 Errores comunes


❌ No hacer commit frecuente

❌ Trabajar directo en main

❌ No usar ramas

❌ Subir archivos sensibles





🧠 Conclusión:


Git no es solo una herramienta.

Es una forma de trabajar.

Dominar Git te permite:

  • trabajar en equipo
  • evitar errores
  • mantener control total del código

Y lo mejor:

Es una habilidad clave para cualquier desarrollador.