Aprende GitHub desde Cero

Guía completa en español con ejemplos prácticos

GitHub es la plataforma líder mundial para el desarrollo colaborativo. Aprende a usar Git y GitHub de forma profesional con nuestra guía paso a paso, completamente en español.

Comenzar desde Cero

Instalación de Git

Antes de usar GitHub, necesitas instalar Git en tu computadora. Elige tu sistema operativo y sigue las instrucciones:

Windows

1

Descargar Git para Windows

Ve a git-scm.com/download/win y descarga la última versión.

2

Ejecutar el instalador

Haz doble clic en el archivo .exe descargado y sigue el asistente. Acepta las opciones predeterminadas (son las más seguras para principiantes).

3

Verificar instalación

Abre "Git Bash" (busca en el menú inicio) y escribe: git --version

$ git --version
git version 2.43.0.windows.1

macOS

1

Verificar si ya está instalado

Abre Terminal (Cmd + Espacio, busca "Terminal") y escribe: git --version

2

Instalar con Homebrew (recomendado)

Si no tienes Git, instala Homebrew desde brew.sh y luego ejecuta:

$ brew install git
3

Alternativa: Instalador gráfico

Descarga desde git-scm.com/download/mac si prefieres un instalador visual.

Linux (Ubuntu/Debian)

1

Actualizar paquetes

$ sudo apt update
2

Instalar Git

$ sudo apt install git
3

Verificar instalación

$ git --version

Configuración Inicial (IMPORTANTE)

Después de instalar Git, debes configurar tu identidad. Usa el mismo nombre y email que usarás en GitHub:

$ git config --global user.name "Tu Nombre Completo"
$ git config --global user.email "tuemail@ejemplo.com"
$ git config --list

Consejos para Principiantes

  • Usa el mismo email que planeas usar en GitHub
  • El nombre debe ser tu nombre real o profesional
  • Puedes cambiar la configuración en cualquier momento
  • En Windows, usa "Git Bash" como terminal
  • No te preocupes si ves mensajes en inglés, es normal

Errores Comunes

  • "git no se reconoce..." - Reinicia tu terminal o computadora después de instalar
  • Problemas de permisos en Linux/macOS - Usa sudo solo para instalar, no para configurar
  • Email no válido - Asegúrate de usar comillas en los comandos de configuración
  • Configuración global vs local - Usa --global para configuración general

Ejercicio Oficial: Hola Mundo

Este es el ejercicio oficial de GitHub para principiantes. No necesitas saber programar - solo seguir las instrucciones paso a paso.

Enlace Oficial

Tutorial Oficial: GitHub Hello World (Español)

Te recomendamos abrir el enlace en otra pestaña y seguir estos pasos junto con la documentación oficial.

Resumen del Ejercicio

Crear repositorio "hello-world" - Tu primer proyecto en GitHub
Crear una rama "readme-edits" - Una copia para hacer cambios seguros
Editar el archivo README.md - Añadir información sobre ti
Hacer commit de los cambios - Guardar tu trabajo con un mensaje
Abrir un Pull Request - Solicitar integrar tus cambios
Fusionar el Pull Request - Combinar tus cambios con el proyecto principal
Eliminar la rama - Limpiar después de completar el trabajo

¿Qué Aprenderás?

  • Cómo crear y gestionar repositorios
  • El concepto de "ramas" (branches) para trabajar de forma segura
  • Cómo hacer cambios y documentarlos (commits)
  • El flujo de trabajo colaborativo (Pull Requests)
  • Cómo fusionar cambios al proyecto principal
  • Navegación básica por la interfaz de GitHub

Consejos para el Ejercicio

  • Tómate tu tiempo: No hay prisa, lee cada paso cuidadosamente
  • Sigue el tutorial oficial: Es la mejor fuente de información actualizada
  • Experimenta: Puedes repetir el ejercicio las veces que quieras
  • Haz capturas de pantalla: Te ayudarán a recordar lo que aprendiste
  • No temas los errores: Siempre puedes volver atrás o empezar de nuevo

Errores Comunes en el Ejercicio

  • Olvidar crear la rama: Asegúrate de estar en "readme-edits" antes de editar
  • No escribir mensaje de commit: Siempre añade una descripción clara
  • Confundir las ramas: Revisa en qué rama estás antes de hacer cambios
  • No guardar cambios: Haz clic en "Commit changes" para guardar
  • Saltarse pasos: Cada paso es importante, no te saltes ninguno

¡Felicidades al Completar!

Al terminar este ejercicio, habrás creado tu primer repositorio y experimentado el flujo completo de GitHub. Este es el foundation sobre el cual construirás todas tus habilidades futuras.

Siguiente paso: Explora las demás pestañas para profundizar en cada concepto.

¿Qué es GitHub?

GitHub es una plataforma de desarrollo colaborativo que utiliza Git para el control de versiones. Permite a los desarrolladores guardar, compartir y colaborar en proyectos de software de manera eficiente y organizada.

GitHub Desktop Interface

Interfaz de GitHub Desktop mostrando los cambios en archivos y la preparación de commits

Conceptos Clave

Repositorio: Lugar donde se almacena tu proyecto con todo su historial de cambios
Control de versiones: Seguimiento detallado de todos los cambios en tus archivos
Colaboración: Trabajar con otros desarrolladores en el mismo proyecto de forma organizada
Nube: Acceso a tus proyectos desde cualquier lugar y dispositivo

Diferencia entre Git y GitHub

Git: Es el sistema de control de versiones que funciona en tu computadora local.

GitHub: Es la plataforma en la nube que aloja repositorios Git y añade funciones colaborativas.

Primeros Pasos en GitHub

Sigue esta guía paso a paso para crear tu primera cuenta y repositorio en GitHub:

1

Crear cuenta en GitHub

Ve a github.com y haz clic en "Sign up". Ingresa tu email, contraseña y nombre de usuario. Elige un nombre de usuario único que te represente profesionalmente.

2

Crear un repositorio

Haz clic en el botón "+" en la esquina superior derecha y selecciona "New repository". Dale un nombre descriptivo, añade una descripción clara y elige si será público o privado.

3

Inicializar con README

Marca la casilla "Add a README file" para crear un archivo de documentación inicial. Este archivo será la primera impresión de tu proyecto y debe explicar qué hace y cómo usarlo.

GitHub Desktop staging changes

Preparando cambios para commit en GitHub Desktop

Comandos Git Esenciales

Domina estos comandos fundamentales para trabajar eficientemente con Git:

git init

Inicializa un nuevo repositorio Git en el directorio actual

$ git init
git clone

Clona un repositorio remoto a tu computadora

$ git clone https://github.com/usuario/repositorio.git
git status

Muestra el estado de los archivos (modificados, preparados, etc.)

$ git status
git add

Añade archivos al área de preparación (staging)

$ git add archivo.txt
$ git add .
git commit

Guarda los cambios con un mensaje descriptivo

$ git commit -m "Mensaje descriptivo"
git push

Sube los cambios al repositorio remoto

$ git push origin main
git pull

Descarga y fusiona cambios del repositorio remoto

$ git pull origin main
git branch

Lista, crea o elimina ramas

$ git branch nueva-rama
git checkout

Cambia entre ramas

$ git checkout nombre-rama
git merge

Fusiona una rama con la actual

$ git merge nombre-rama

Flujo de Trabajo Básico

Este es el proceso típico que seguirás al trabajar con Git y GitHub:

Git workflow diagram

Diagrama del flujo de trabajo de Git mostrando comandos y etapas entre repositorios locales y remotos

Crear o clonar repositorio - Inicia tu proyecto desde cero o copia uno existente
Crear una rama para nueva funcionalidad - Trabaja en características sin afectar el código principal
Hacer cambios en archivos - Edita, añade o elimina archivos según necesites
git add para preparar cambios - Selecciona qué archivos incluir en el próximo commit
git commit para guardar cambios - Crea una instantánea de tu proyecto con mensaje descriptivo
git push para subir a GitHub - Sincroniza tu trabajo local con el repositorio remoto
Crear Pull Request si trabajas en equipo - Solicita que revisen e integren tus cambios
Fusionar cambios a la rama principal - Integra tu trabajo al código base del proyecto

Colaboración y Trabajo en Equipo

GitHub es especialmente poderoso para trabajar en equipo. Aprende las mejores prácticas para colaborar eficientemente:

Trabajando con Ramas (Branches)

1

Crear una rama para tu funcionalidad

$ git checkout -b mi-nueva-funcionalidad

Siempre crea una rama nueva para cada funcionalidad o corrección.

2

Hacer cambios y commits

$ git add .
$ git commit -m "Añadir nueva funcionalidad X"

Haz commits frecuentes con mensajes descriptivos.

3

Subir la rama al repositorio remoto

$ git push origin mi-nueva-funcionalidad

Esto hace que otros puedan ver tu trabajo en progreso.

Pull Requests: El Corazón de la Colaboración

Los Pull Requests (PR) son solicitudes para integrar cambios. Permiten revisión y discusión antes de fusionar código:

Crear PR desde tu rama - Proponer tus cambios al equipo
Describir los cambios - Explicar qué hiciste y por qué
Solicitar revisión - Pedir a compañeros que revisen tu código
Responder a comentarios - Hacer cambios sugeridos si es necesario
Fusionar cuando esté aprobado - Integrar los cambios al proyecto principal

Fork: Contribuir a Proyectos Externos

Fork es crear una copia de un repositorio en tu cuenta para contribuir a proyectos de otros:

  • Haz clic en "Fork" en cualquier repositorio público
  • Clona tu fork a tu computadora local
  • Haz cambios y crea un Pull Request al repositorio original
  • El dueño del proyecto puede aceptar o rechazar tus cambios

Mejores Prácticas para Colaboración

  • Usa nombres de rama descriptivos: feature/login-page, fix/bug-in-payment
  • Haz commits pequeños y frecuentes: Es más fácil revisar cambios pequeños
  • Escribe mensajes de commit claros: Explica QUÉ hiciste y POR QUÉ
  • Mantén las ramas actualizadas: Haz git pull regularmente
  • Revisa el código de otros: Aprende y ayuda al equipo
  • Documenta tu código: Usa comentarios y README detallados

Conflictos de Merge: No Te Asustes

Los conflictos ocurren cuando dos personas modifican la misma línea de código:

  • Mantén la calma: Los conflictos son normales en el trabajo colaborativo
  • Comunicáte: Habla con tu compañero sobre qué cambios mantener
  • Usa herramientas: GitHub Desktop y VS Code tienen resolutores visuales
  • Haz pruebas: Siempre verifica que todo funciona después de resolver

Cursos Interactivos Gratuitos

Practica Git y GitHub con estos excelentes cursos interactivos, todos completamente gratuitos:

GitHub Skills - Cursos Oficiales

Nivel: Principiante a Avanzado

Idioma: Inglés (fácil de seguir)

Duración: 1-3 horas por curso

  • Introduction to GitHub
  • Communicate using Markdown
  • GitHub Pages
  • Managing merge conflicts
  • Y muchos más...

✨ Recomendado para principiantes: Cursos oficiales con ejercicios prácticos en repositorios reales.

Learn Git Branching

Nivel: Principiante a Avanzado

Idioma: Español

Duración: 2-4 horas

  • Visualización interactiva de Git
  • Ejercicios paso a paso
  • Conceptos de ramas y merge
  • Comandos avanzados

🎆 Excelente para visualizar: Entiende Git viendo gráficamente cómo funcionan los comandos.

Curso MoureDev - Hello Git & GitHub

Nivel: Principiante

Idioma: Español

Duración: 3-5 horas

  • Curso completo en español
  • Ejercicios prácticos
  • Video tutoriales incluidos
  • Comunidad activa en Discord

🗣️ Perfect for Spanish speakers: Curso completo con explicaciones detalladas en español.

FreeCodeCamp - Git y GitHub

Nivel: Principiante

Idioma: Inglés/Español

Duración: 2-3 horas

  • Parte de curriculos de programación
  • Certificación gratuita
  • Ejercicios integrados
  • Comunidad mundial
GitHub Learning Lab (Ahora GitHub Skills)

Nota: Migrado a GitHub Skills

Los cursos ahora están disponibles en skills.github.com

Git Exercises

Nivel: Intermedio a Avanzado

Idioma: Inglés

Duración: Variable

  • Ejercicios prácticos de Git
  • Diferentes niveles de dificultad
  • Feedback inmediato

Ruta de Aprendizaje Recomendada

1. Empieza con GitHub Skills - "Introduction to GitHub" y "Hello World"
2. Practica con Learn Git Branching - Entiende visualmente los comandos
3. Profundiza con MoureDev - Curso completo en español
4. Desafíos avanzados - Git Exercises para pulir habilidades

GitHub Pages

GitHub Pages es un servicio gratuito para alojar sitios web estáticos directamente desde tus repositorios de GitHub.

Cómo publicar tu sitio web

1

Prepara tu proyecto web

Crea un repositorio con tu proyecto web (HTML, CSS, JS). Asegúrate de tener un archivo index.html en la raíz.

2

Accede a Settings

Ve a la pestaña "Settings" de tu repositorio en GitHub.

3

Configura Pages

Navega a la sección "Pages" en el menú lateral y selecciona la rama 'main' como fuente.

4

¡Listo!

Guarda los cambios y espera unos minutos. Tu sitio estará disponible en línea.

Tu sitio web estará disponible en:

https://tu-usuario.github.io/nombre-repositorio

¡Completamente gratis y con certificado SSL incluido!

Videos Recomendados

Los mejores tutoriales de YouTube para aprender Git y GitHub, organizados por nivel y idioma:

Principiantes - Español

Curso COMPLETO de GIT y GITHUB desde CERO

Autor: MoureDev

Duración: 5:32:39

Nivel: Principiante

Curso completo desde instalación hasta colaboración avanzada. Perfecto para empezar desde cero con explicaciones claras y ejercicios prácticos.

Git y GitHub para Principiantes

Autor: FaztCode

Duración: 1:35:00

Nivel: Principiante

Introducción clara y directa a Git y GitHub con ejemplos prácticos. Ideal para entender los conceptos fundamentales.

Git y GitHub desde Cero

Autor: HolaMundo

Duración: 2:15:30

Nivel: Principiante

Tutorial estructurado que cubre desde conceptos básicos hasta flujos de trabajo colaborativos.

Git y GitHub en 1 Hora

Autor: midudev

Duración: 1:07:10

Nivel: Principiante-Intermedio

Tutorial intensivo y práctico. Perfecto si quieres aprender lo esencial rápidamente.

Intermedio/Avanzado - Español

Git Flow y Metodologías de Trabajo

Autor: Varios

Duración: Variable

Nivel: Intermedio-Avanzado

Metodologías avanzadas para equipos de desarrollo profesional.

Git Avanzado - Búsqueda

Busca tutoriales avanzados actualizados

Temas: Rebase, Submódulos, Hooks

Mejores en Inglés (Subtitulados)

Git and GitHub for Beginners - Crash Course

Autor: freeCodeCamp

Duración: 1:08:56

Nivel: Principiante

Uno de los tutoriales más populares y completos en inglés. Incluye subtitulos automáticos.

Git & GitHub Crash Course For Beginners

Autor: Traversy Media

Duración: 1:32:42

Nivel: Principiante

Tutorial muy práctico con ejemplos reales de desarrollo web.

Git for Professionals Tutorial

Autor: Git Tower

Duración: 40:30

Nivel: Intermedio-Avanzado

Consejos y técnicas para profesionales. Incluye mejores prácticas industriales.

Videos Rápidos (< 30 minutos)

Git y GitHub en 15 Minutos

Duración: 15:32

Tutorial express para repaso rápido o introducción veloz.

Learn GitHub in 20 Minutes

Duración: 20:27

Idioma: Inglés (subtitulado)

Enfoque rápido en las funcionalidades de GitHub.

Consejos para Aprovechar los Videos

  • Ve a tu ritmo: Pausa y practica cada concepto antes de continuar
  • Toma notas: Anota comandos importantes y conceptos clave
  • Practica junto al video: Ten tu terminal abierto y sigue los ejemplos
  • Repite secciones: No dudes en volver atrás si algo no queda claro
  • Combina fuentes: Ve varios videos para obtener diferentes perspectivas
  • Usa subtitulos: Activa subtitulos en YouTube para mejor compresión

Cuidado con Videos Desactualizados

  • Verifica la fecha: Prefiere videos de los últimos 2-3 años
  • Interfaz cambiada: GitHub actualiza su interfaz regularmente
  • Comandos obsoletos: Algunos comandos han cambiado (ej: master → main)
  • Consulta documentación oficial: Si algo no funciona, revisa docs.github.com

Recursos Adicionales

Documentación oficial, libros gratuitos, herramientas y recursos complementarios:

Documentación Oficial

Documentación GitHub (Español)

Guía oficial completa y actualizada

Incluye: Tutoriales paso a paso, referencia de API, mejores prácticas

Documentación Git Oficial

Referencia completa de comandos Git

Incluye: Manual de referencia, tutoriales, videos oficiales

Ejercicio Hello World Oficial

Tutorial práctico paso a paso

El ejercicio oficial para aprender GitHub desde cero

Libros Gratuitos

Pro Git (Español)

Autores: Scott Chacon, Ben Straub

Libro completo y gratuito sobre Git. Disponible online y para descarga en PDF/ePub.

Altamente recomendado: Referencia definitiva, desde principiante hasta experto

Git and GitHub for Beginners (FreeCodeCamp)

Artículo completo con ejemplos

Guía escrita detallada con ejemplos prácticos y capturas de pantalla.

Git Cheat Sheet (PDF)

Referencia rápida de comandos

Hoja de referencia oficial con los comandos más importantes.

Herramientas Útiles

GitHub Desktop

Aplicación gráfica oficial

Interfaz visual para Git y GitHub. Perfecto para principiantes que prefieren GUI.

Visual Studio Code

Editor con integración Git nativa

Editor de código gratuito con excelente soporte para Git y GitHub.

gitignore.io

Generador de archivos .gitignore

Crea archivos .gitignore personalizados para tu tipo de proyecto.

GitHub CLI

Herramienta de línea de comandos

Controla GitHub desde la terminal. Para usuarios avanzados.

Comunidades y Ayuda

Comunidades Discord

Chats de programación en español

Busca servidores de Discord sobre programación para hacer preguntas.

r/git (Reddit)

Comunidad activa de Git

Subreddit dedicado a Git con miles de usuarios dispuestos a ayudar.

Stack Overflow

Preguntas y respuestas sobre Git

La mayor base de datos de preguntas y soluciones sobre Git.

Certificaciones y Reconocimientos

  • GitHub Campus Expert: Programa para líderes estudiantiles
  • Microsoft Learn Git: Rutas de aprendizaje con certificados
  • LinkedIn Learning: Cursos con certificados profesionales
  • Badges GitHub: Logros por completar ejercicios en GitHub Skills

Cómo Seguir Aprendiendo

  • Practica diariamente: Usa Git en todos tus proyectos personales
  • Contribuye a proyectos open source: Encuentra proyectos en GitHub y participa
  • Crea tu portafolio: Usa GitHub Pages para mostrar tus proyectos
  • Aprende metodologías: Git Flow, GitHub Flow, etc.
  • Manténte actualizado: Sigue blogs y canales de YouTube sobre desarrollo
  • Enseña a otros: La mejor forma de consolidar conocimiento

Glosario de Términos

Repositorio (Repo)

Carpeta de proyecto con historial completo de cambios. Como una "caja" que contiene tu proyecto y recuerda cada modificación.

Ejemplo: mi-pagina-web.git

Commit

"Foto" o snapshot de tu proyecto en un momento específico. Incluye mensaje explicativo de qué cambios se hicieron.

Ejemplo: "Añadir página de contacto"

Branch (Rama)

Línea independiente de desarrollo. Permite trabajar en nuevas características sin afectar el código principal.

Ejemplo: feature/nueva-funcionalidad

Main/Master

Rama principal del proyecto. Contiene la versión "oficial" y estable del código.

Nota: GitHub cambió de "master" a "main"

Pull Request (PR)

Solicitud formal para integrar cambios de una rama a otra. Permite revisión y discusión antes de fusionar.

También llamado: Merge Request (en GitLab)

Fork

Copia completa de un repositorio en tu cuenta de GitHub. Usado para contribuir a proyectos de otros.

Uso típico: Proyectos open source

Clone

Descargar una copia completa del repositorio remoto a tu computadora local.

Comando: git clone [URL]

Push

Subir (enviar) tus commits locales al repositorio remoto en GitHub.

Comando: git push origin main

Pull

Descargar y fusionar automáticamente los últimos cambios del repositorio remoto.

Comando: git pull origin main

Merge

Combinar cambios de una rama con otra. Integra el trabajo de diferentes líneas de desarrollo.

Resultado: Las dos ramas se combinan

Fetch

Descargar información del repositorio remoto sin fusionar automáticamente. Más seguro que pull.

Diferencia: Fetch descarga, Pull descarga + fusiona

Staging Area

Área intermedia donde preparas cambios antes del commit. Como un "carrito de compras" para tus modificaciones.

Comando: git add [archivo]

Working Directory

Tu carpeta local donde trabajas con archivos. Los cambios aquí no están en Git hasta hacer add y commit.

Estado: Modificado, sin seguimiento

Remote

Versión del repositorio alojada en Internet (como GitHub). Permite colaboración y backup.

Típicamente: origin (nombre por defecto)

Origin

Nombre por defecto del repositorio remoto desde donde clonaste tu proyecto.

Ejemplo: origin → tu-usuario/mi-proyecto

HEAD

Puntero que indica en qué commit y rama te encuentras actualmente.

Piénsalo como: "Estás aquí" en un mapa

Diff

Comparación entre dos versiones de archivos, mostrando líneas añadidas, eliminadas o modificadas.

Comando: git diff

Log

Historial de todos los commits realizados, con fechas, autores y mensajes.

Comando: git log --oneline

Status

Estado actual de tu repositorio: qué archivos están modificados, en staging, o pendientes.

Comando más usado: git status

.gitignore

Archivo que especifica qué archivos o carpetas Git debe ignorar completamente.

Ejemplo: node_modules/, *.log

README.md

Archivo de documentación del proyecto, escrito en Markdown. Primera impresión para visitantes.

Aparece en: Página principal del repositorio

Issue

Reporte de bug, solicitud de característica o tarea pendiente. Sistema de tickets de GitHub.

Uso: Organizar trabajo y reportar problemas

Release

Versión específica y etiquetada de tu proyecto, lista para distribución.

Ejemplo: v1.0.0, v2.1.3

Tag

Etiqueta que marca un punto específico en el historial, típicamente para versiones.

Comando: git tag v1.0.0

Rebase

Técnica avanzada para "mover" commits y mantener un historial lineal y limpio.

Alternativa a: Merge (más complejo)

Stash

"Cajón" temporal para guardar cambios sin hacer commit. Útil para cambiar de rama rápidamente.

Comando: git stash

Upstream

Repositorio original del cual hiciste fork. La "fuente oficial" del proyecto.

Para mantener actualizado: tu fork

Checkout

Cambiar entre ramas o commits. Como "navegar" por diferentes versiones de tu proyecto.

Nuevo comando: git switch (más claro)

Conflict (Conflicto)

Situación donde Git no puede fusionar automáticamente cambios contradictorios.

Solución: Editar manualmente y decidir

Open Source

Código abierto. Software cuyo código fuente está disponible públicamente para ver y contribuir.

Filosofía: Colaboración global