WhatsApp

  

Modulo1 GIT Introducción

Introducción

Módulo 1: Introducción a Git — Fundamentos para un control de versiones moderno

Aprende qué es Git, qué problemas resuelve, en qué se diferencia de GitHub y GitLab, cómo instalarlo y configurarlo correctamente, y los conceptos esenciales: repositorio, commit, branch y merge.

¿Qué es Git y qué problemas resuelve?

Git es un sistema de control de versiones distribuido. Te permite registrar cambios en archivos, volver a estados anteriores, trabajar en paralelo con otras personas y unir contribuciones de forma segura. A diferencia de los sistemas centralizados, cada persona tiene una copia completa del historial del proyecto, lo que lo hace rápido, confiable y resistente a fallos.

Problemas que resuelve
  • Versionado seguro sin sobrescribir archivos (adiós “final_v3_definitivo2.zip”).
  • Trabajo en paralelo con ramas, evitando bloqueos entre personas.
  • Auditoría completa: quién cambió qué y por qué.
  • Recuperación ante errores: volver a un estado estable en segundos.
Beneficios clave
  • Desarrollo seguro con experimentación aislada.
  • Integración fluida de cambios con revisiones de código.
  • Historial claro que impulsa la colaboración y la trazabilidad.
TIP Git es la herramienta; las plataformas como GitHub o GitLab son servicios que hospedan repositorios y añaden funcionalidades extra.

Diferencias entre Git, GitHub, GitLab y otros

Git es el motor de control de versiones. GitHub, GitLab o Bitbucket son plataformas que alojan repositorios Git en la nube o en tu propia infraestructura y agregan herramientas de colaboración.

Git (la herramienta)

Software de control de versiones distribuido.

  • Corre localmente en tu equipo.
  • No requiere internet para versionar.
  • Abierto, rápido y extensible.
GitHub

Plataforma de Microsoft (SaaS y Enterprise).

  • Pull Requests, Issues, Projects, Wikis.
  • GitHub Actions (CI/CD), GitHub Packages.
  • Amplia comunidad open source.
GitLab

Plataforma open-core (SaaS y self-managed).

  • CI/CD integrado desde el núcleo.
  • Gestión de seguridad y DevSecOps.
  • Opción on-premise robusta.
Bitbucket

Ecosistema Atlassian (Jira/Confluence).

  • Integración nativa con Jira.
  • CI/CD con Pipelines.
  • Repositorios privados cómodos.
En resumen: usa Git independientemente de la plataforma. Elige una plataforma según tus necesidades de colaboración, CI/CD, gobernanza y hospedaje (nube vs on-premise).

Instalación y configuración inicial de Git
1) Instalar Git
Windows
winget install --id Git.Git -e --source winget
git --version

Alternativa: instalador desde https://git-scm.com

macOS
# Homebrew
brew install git
git --version
# O bien: Xcode Command Line Tools
xcode-select --install
Linux
# Debian/Ubuntu
sudo apt update && sudo apt install -y git
# Fedora
sudo dnf install -y git
# Arch
sudo pacman -S git
2) Configuración básica recomendada

Define tu identidad, rama por defecto y ajustes útiles para un historial limpio.

# Identidad (usa tu nombre y correo reales, p. ej. los de tu plataforma)
git config --global user.name "Tu Nombre"
git config --global user.email "tu.email@dominio.com"
# Rama por defecto y formato de diffs
git config --global init.defaultBranch main
git config --global color.ui auto
# Opcionales según SO y preferencias
# Windows: normaliza fin de línea al hacer checkout
git config --global core.autocrlf true
# macOS/Linux: respeta LF
git config --global core.autocrlf input
# Estrategia de pull (merge por defecto)
git config --global pull.rebase false
# Almacenamiento de credenciales
# Windows:
git config --global credential.helper manager-core
# macOS:
git config --global credential.helper osxkeychain
# Linux (simple):
git config --global credential.helper store
Privacidad: si usas correo privado de GitHub (o similar), configúralo aquí para proteger tu email real en los commits.
3) Claves SSH (opcional pero recomendado)

Evita escribir tu contraseña al interactuar con repositorios remotos.

# Genera una clave moderna
ssh-keygen -t ed25519 -C "tu.email@dominio.com"
# Inicia el agente y añade la clave
eval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_ed25519
# Copia la clave pública y pégala en GitHub/GitLab/Bitbucket
cat ~/.ssh/id_ed25519.pub

Conceptos clave: repositorio, commit, branch, merge
Repositorio

Es la estructura donde Git guarda tu proyecto y su historial.

# Crear repositorio local
mkdir mi-proyecto && cd mi-proyecto
git init

Puede ser local o remoto (en GitHub/GitLab, etc.).

Commit

Un “snapshot” coherente del estado de tus archivos con un mensaje explicativo.

git add archivo.txt
git commit -m "Describe el cambio de forma breve y clara"

Haz commits pequeños y atómicos: una idea por commit.

Branch (rama)

Una línea de trabajo independiente para desarrollar sin afectar la rama principal.

git branch feature/login
git switch feature/login
# o en un solo paso:
git switch -c feature/login

Convención útil: feature/, fix/, chore/, refactor/…

Merge

Integra los cambios de una rama en otra. Puede ser fast-forward (lineal) o con commit de merge.

# Desde main
git switch main
git merge feature/login

Si hay conflictos, Git te pedirá resolverlos archivo por archivo.

PRO TIP Mantén actualizada tu rama de trabajo sincronizándola con main con regularidad para minimizar conflictos de merge.

Primeros pasos: flujo básico recomendado
  1. Inicializa el repositorio y realiza el primer commit.
  2. Crea una rama para tu tarea o funcionalidad.
  3. Trabaja en cambios pequeños, hace commits claros.
  4. Integra tus cambios mediante un merge (o Pull/Merge Request en la plataforma).
# 1) Inicializa y primer commit
mkdir demo-git && cd demo-git
git init
echo "# Demo Git" > README.md
git add README.md
git commit -m "Inicializa proyecto con README"
# 2) Crea una rama de trabajo
git switch -c feature/actualiza-readme
echo "Descripción breve." >> README.md
git add README.md
git commit -m "Agrega descripción al README"
# 3) Integra en main
git switch main
git merge feature/actualiza-readme
# 4) Conecta remoto (ejemplo GitHub vía SSH) y publica
git branch -M main
git remote add origin git@github.com:usuario/proyecto.git
git push -u origin main
Buenas prácticas
  • Mensajes de commit breves en imperativo: “Agrega validación de email”.
  • Una rama por tarea; elimina ramas que ya se integraron.
  • Evita commitear secretos o credenciales; usa .gitignore.
Errores comunes
  • Trabajar en main directamente: dificulta las revisiones.
  • Commits gigantes: complican revertir y revisar.
  • No sincronizar con main antes de integrar: más conflictos.
¿Usas plataforma? Crea un Pull Request (GitHub/Bitbucket) o Merge Request (GitLab) desde tu rama hacia main para revisión y CI/CD automáticos.

Conclusión

Con Git dominas el control de versiones moderno: trabajas seguro, colaboras mejor y ganas trazabilidad. Ya conoces qué es Git, en qué se diferencia de GitHub/GitLab, cómo instalarlo y configurarlo, y los conceptos base que usarás a diario.

Siguiente Flujo de trabajo con Git: clonación, branching y colaboración
Ir al Módulo 2

Recursos recomendados:

 


Modulo1 GIT Introducción
ASIMOV Ingeniería S. de R.L. de C.V., Emiliano Nava 23 agosto, 2025
Compartir
Iniciar sesión dejar un comentario

  
QuickSort implementación