Plataforma de Colaboración

GitHub

GitHub es donde el mundo construye software. Aquí descubrirás qué es, cómo funciona y cómo utilizarlo para colaborar, alojar código y potenciar tu carrera como desarrollador.

beginner16 min readUpdated 15 sept 2026
bash
# Create a new repository on GitHub
# Then clone it to your machine
git clone https://github.com/your-username/my-project.git

# Make changes and push
git add .
git commit -m "Add README"
git push origin main
Creado
2008, por Tom Preston-Werner, Chris Wanstrath y PJ Hyett
Tipo
Plataforma de colaboración basada en la nube
Propietario
Microsoft (desde 2018)
Repositorios
Más de 330 millones
Desarrolladores
Más de 100 millones
Precios
Nivel gratuito disponible, planes de pago para equipos

Por que importa

Por qué GitHub es importante

Colaboración en equipo

Los pull requests, la revisión de código, los issues y las discusiones permiten que los equipos trabajen juntos en el código con transparencia y responsabilidad.

Automatización

GitHub Actions automatiza las pruebas, la compilación y el despliegue de tu código. Configura pipelines de CI/CD mediante archivos YAML.

Seguridad

El escaneo de dependencias integrado, la detección de secretos y los flujos de revisión de código te ayudan a detectar vulnerabilidades antes de que lleguen a producción.

La imagen completa

Las tres capas de GitHub

GitHub es una plataforma, un conjunto de herramientas y una comunidad. Entender qué capa estás utilizando te ayudará a aprovecharla al máximo.

GitHub

La plataforma

Alojamiento en la nube para repositorios Git con funciones de colaboración como pull requests, issues y revisión de código.

Git

La herramienta

El sistema de control de versiones distribuido que se ejecuta en tu máquina y rastrea todos los cambios en tus archivos.

Comunidad

Las personas

Mantenedores de código abierto, contribuidores y equipos que utilizan GitHub para construir, compartir y descubrir software.

GitHub de un vistazo

Lo que la plataforma te ofrece

Repositorios

Repos Git alojados en la nube con seguimiento de issues, wikis, releases y controles de acceso.

Pull Requests

Propón cambios, revisa código, discute alternativas y fusiona cambios con un historial de auditoría claro.

Issues

Rastrea errores, solicita funcionalidades y gestiona tareas con etiquetas, hitos y asignaciones.

Actions

Pipelines de CI/CD que prueban, compilan y despliegan automáticamente tu código en cada push.

Codespaces

Entornos de desarrollo en la nube que levantan instancias de tu repositorio listas para programar.

Pages

Aloja sitios web estáticos directamente desde tu repositorio: documentación, portafolios y más.

Una breve historia

De alojamiento de código a ecosistema para desarrolladores

  1. 2008

    Lanzamiento de GitHub

    Tom Preston-Werner, Chris Wanstrath y PJ Hyett crean una plataforma que hace que la colaboración con Git sea sencilla.

    08
  2. 2010

    Llegan los pull requests

    El flujo de trabajo de pull request transforma la manera en que los equipos revisan y fusionan código, convirtiéndose en el estándar de la industria.

    10
  3. 2013

    Anuncio de GitHub Actions

    Automatización de CI/CD integrada en la plataforma, eliminando la necesidad de herramientas externas para muchos flujos de trabajo.

    13
  4. 2018

    Microsoft adquiere GitHub

    GitHub obtiene más recursos manteniendo su independencia, acelerando funciones como Codespaces y Copilot.

    18
  5. 2021

    Copilot y Codespaces

    Las sugerencias de código impulsadas por IA y los entornos de desarrollo en la nube cambian la forma en que los desarrolladores escriben código.

    21
  6. Hoy

    La plataforma del desarrollador

    Más de 100 millones de desarrolladores, más de 330 millones de repositorios y el hogar predeterminado del software de código abierto.

    Hoy

La guia completa

GitHub: Todo lo que necesitas saber

¿Qué es GitHub?

GitHub es una plataforma basada en la nube para alojar repositorios de Git y colaborar con otros desarrolladores. Toma todo lo que Git hace localmente —rastrear cambios, gestionar ramas, fusionar código— y le añade una interfaz web con herramientas para la revisión de código, seguimiento de incidencias, automatización y gestión de proyectos.

Piensa en Git como el motor y en GitHub como el tablero de control. Git se ejecuta en tu máquina, encargándose del control de versiones. GitHub aloja tu repositorio en línea, permitiendo que otros vean tu código, sugieran mejoras, reporten errores y contribuyan con funcionalidades a través de un flujo de trabajo estructurado.

Con más de 100 millones de desarrolladores y 330 millones de repositorios, GitHub es el lugar donde el mundo construye software. Proyectos de código abierto, startups, empresas y desarrolladores independientes lo utilizan como su plataforma de colaboración principal. Si estás aprendiendo a programar, tener un perfil de GitHub es tan importante como tener un portafolio.

Por qué GitHub es importante

El control de versiones en tu máquina es útil, pero la colaboración requiere un espacio compartido. GitHub proporciona ese espacio con funcionalidades que hacen que el trabajo en equipo sea estructurado y transparente:

  • Hosting centralizado — tu código reside en la nube, accesible desde cualquier lugar y con un respaldo que nunca se pierde.
  • Pull requests — propone cambios, revisa el código línea por línea y haz el merge solo cuando todos estén de acuerdo.
  • Issues y tableros de proyecto — rastrea errores, gestiona funcionalidades y organiza el trabajo con etiquetas, hitos y tableros kanban.
  • Automatización CI/CD — GitHub Actions ejecuta pruebas, construye y despliega tu código automáticamente en cada push.
  • Comunidad — descubre proyectos de código abierto, contribuye en ellos y construye tu reputación como desarrollador.
  • Seguridad — el escaneo de dependencias, la detección de secretos y los flujos de revisión de código detectan vulnerabilidades a tiempo.

GitHub no es solo un servicio de hosting de código. Es una plataforma de desarrollo que cubre todo el ciclo de vida del software, desde la idea hasta el despliegue.

Configuración de GitHub

Creación de una cuenta

Ve a github.com y regístrate con tu correo electrónico. Elige el plan gratuito; incluye todo lo necesario para comenzar.

Configuración de Git

Después de crear tu cuenta, configura Git para trabajar con GitHub:

# Set your identity
git config --global user.name "Your Name"
git config --global user.email "[email protected]"

# Set the default branch name
git config --global init.defaultBranch main

Conexión vía SSH

Las claves SSH te permiten autenticarte sin tener que introducir tu contraseña cada vez:

# Generate a new SSH key
ssh-keygen -t ed25519 -C "[email protected]"

# Start the SSH agent
eval "$(ssh-agent -s)"

# Add your key to the agent
ssh-add ~/.ssh/id_ed25519

# Copy the public key to add to GitHub
cat ~/.ssh/id_ed25519.pub

Ve a GitHub Settings > SSH and GPG keys > New SSH key, pega tu clave pública y guarda los cambios. Ahora ya puedes clonar, hacer push y pull utilizando URLs de SSH.

Funcionalidades principales de GitHub

Repositories

Un repository es un proyecto en GitHub. Contiene tu código, archivos de configuración, documentación y el historial completo de Git. Cada repository tiene:

  • Una pestaña de código para explorar los archivos
  • Una pestaña de issues para hacer seguimiento del trabajo
  • Una pestaña de pull requests para la revisión de código
  • Una wiki para la documentación
  • Una pestaña de settings para el control de acceso

Crea un nuevo repository desde la página de inicio de GitHub o desde la CLI:

# Create a new repo on GitHub, then clone it
gh repo create my-project --public --clone

Issues

Los issues son la forma de hacer seguimiento al trabajo. Úsalos para reportar bugs, solicitar funcionalidades, gestionar tareas y mantener discusiones:

# Create an issue from the command line
gh issue create --title "Fix login bug" --body "Users cannot log in with empty email"

Cada issue puede tener:

  • Labels — para categorizar por tipo (bug, mejora, documentación)
  • Assignees — quién es el responsable
  • Milestones — para agrupar issues en versiones o sprints
  • Linked pull requests — para mostrar qué PRs cierran el issue

Pull requests

Los pull requests son el núcleo de la colaboración en GitHub. Te permiten proponer cambios, revisar código y hacer el merge cuando estén listos:

# Create a branch, make changes, push, then open a PR
git checkout -b fix-login-bug
# make changes
git add .
git commit -m "Fix null check in login handler"
git push origin fix-login-bug
gh pr create --title "Fix login bug" --body "Adds null check for empty email"

Los pull requests incluyen herramientas de revisión de código, checks automatizados, hilos de discusión y controles de merge. Son la forma estándar de integrar código en una base de código compartida.

GitHub Actions

Actions automatizan tu flujo de desarrollo. Escribe archivos YAML que definan qué sucede cuando ocurren ciertos eventos:

# .github/workflows/ci.yml
name: CI

on:
  push:
    branches: [main]
  pull_request:
    branches: [main]

jobs:
  test:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-node@v4
        with:
          node-version: 20
      - run: npm ci
      - run: npm test

Los usos más comunes incluyen ejecutar tests en cada push, desplegar a producción al hacer merge a main y construir imágenes de Docker en cada release.

GitHub Pages

Aloja sitios web estáticos directamente desde tu repository:

# Enable Pages in your repo settings, then push to the gh-pages branch
git checkout -b gh-pages
git push origin gh-pages

Pages es perfecto para sitios de documentación, portfolios, blogs y landing pages. Soporta dominios personalizados, HTTPS y generadores de sitios estáticos como Jekyll y Astro.

Trabajo en equipo

Forking de repositorios

Hacer un fork crea tu propia copia del repositorio de otra persona. Esto te permite realizar cambios sin afectar al original:

# Fork a repo using the GitHub CLI
gh repo fork owner/repo --clone

# Or fork and add a remote
git remote add fork https://github.com/your-username/repo.git

El forking es la forma estándar de contribuir al código abierto. Haces un fork del repositorio, realizas los cambios en tu copia y abres un pull request hacia el repositorio original.

Revisión de código

Las herramientas de revisión de código de GitHub te permiten comentar líneas específicas, sugerir cambios y solicitar modificaciones:

  • Comentarios inline — para discutir líneas de código específicas.
  • Cambios sugeridos — para proponer ediciones que los autores pueden aceptar con un solo clic.
  • Aprobaciones de revisión — para aprobar, solicitar cambios o comentar el PR en general.
  • Code owners — para asignar revisores automáticamente según los archivos que hayan cambiado.

Protección de ramas

Protege las ramas importantes de cambios accidentales o no autorizados:

  • Requerir revisiones de pull request antes de hacer el merge.
  • Requerir que las comprobaciones de estado pasen (la CI debe estar en verde).
  • Requerir un historial lineal (sin merge commits).
  • Restringir quién puede hacer push a la rama.
  • Requerir commits firmados.

Gestión de proyectos

GitHub Projects ofrece tableros kanban, tablas y roadmaps para gestionar el trabajo:

  • Crear columnas como “To Do”, “In Progress” y “Done”.
  • Vincular issues y pull requests a las tarjetas.
  • Automatizar el movimiento de tarjetas basado en eventos.
  • Hacer seguimiento del progreso con insights y gráficos.

Mejores prácticas

  • Escribe archivos README descriptivos — explica qué hace tu proyecto, cómo instalarlo y cómo contribuir.
  • Usa plantillas de issues — estandariza los reportes de errores y las solicitudes de nuevas funcionalidades.
  • Habilita la protección de ramas — requiere revisiones y que el CI pase correctamente antes de hacer el merge.
  • Escribe descripciones de PR significativas — explica qué cambió, por qué y cómo probarlo.
  • Usa GitHub Actions — automatiza las pruebas y el despliegue en lugar de hacerlo manualmente.
  • Mantén los repositorios enfocados — un proyecto por repo, evita crear un monolito de código no relacionado.
  • Etiqueta los releases — usa versionado semántico y GitHub Releases para marcar las versiones estables.
  • Contribuye al open source — haz fork, corrige errores y envía pull requests para ganar experiencia y reputación.

Errores comunes

  • Subir datos sensibles, como API keys o contraseñas, a un repositorio público.
  • No escribir un README, dejando a los visitantes confundidos sobre la función del proyecto.
  • Crear pull requests sin descripción ni contexto para los revisores.
  • Ignorar los issues y dejar que se acumulen sin realizar un triage.
  • No utilizar la protección de ramas, permitiendo pushes directos a main.
  • Hacer commit de node_modules, .env u otros archivos que deberían estar en .gitignore.
  • Usar GitHub como un servicio de respaldo sin entender primero cómo funciona Git localmente.

Qué aprender a continuación

Ya comprendes las funciones principales de GitHub: repositories, issues, pull requests y Actions. A partir de aquí, el siguiente paso natural es Git para dominar el sistema de control de versiones que hay detrás, incluyendo el branching, merging y rebasing. Elige un proyecto, contribuye en él y deja que la práctica se acumule.

Nombres de repositorios

Usa nombres descriptivos en kebab-case que indiquen qué hace el proyecto.

Preferido
react-data-grid
task-api-server
design-system-tokens
Evitar
my-project
stuff
final-v2-actual

Títulos de issues

Escribe títulos que describan el problema, no el intento de solución.

Preferido
Login form crashes on empty email input
Add pagination to user list endpoint
Dark mode toggle not persisting across sessions
Evitar
Bug
Fix this
Help please

Preguntas frecuentes

Preguntas frecuentes

Keep learning

Related topics from the roadmap.

$ comienza a aprender

Listo para aprender GitHub?

Nuestro tutorial interactivo te guia a traves de GitHub paso a paso — con quizzes y codigo real que puedes ejecutar en el navegador.