Saltar al contenido

Lección 5 de 12 · Lectura y práctica

Introducción a GitHub

CONCEPTO CLAVE: GitHub es una plataforma en la nube que actúa como hosting para tus repositorios Git. Mientras Git es la herramienta que controlas localmente en tu computadora, GitHub te permite almacenar tu código en internet y.

Del concepto a la práctica

Taller de esta lección

GitHub puede alojar una copia remota de un repositorio Git y ofrecer un lugar común para revisar cambios. Git sigue funcionando localmente; publicar un commit no lo convierte automáticamente en una pull request ni sustituye la verificación del equipo.

Ejemplo resuelto

El repositorio local agenda-biblioteca contiene un commit estable. Creas un repositorio remoto vacío para práctica y lo asocias como origin. El nombre permite recordar el destino, pero la seguridad depende de usar una cuenta y permisos autorizados. Tras publicar, comparas el commit local con la referencia remota.

Después de crear el repositorio de la biblioteca, añade su URL autorizada mediante git remote add origin <URL-del-repositorio-de-práctica>. Publica la rama inicial con git push -u origin main y compara los commits del README. Una contraseña nunca forma parte de la URL que documentas.

Pruébalo

  1. Crea un repositorio remoto de práctica sin archivos iniciales.

  2. Conecta el repositorio local con ese destino.

  3. Comprueba que la rama local contiene el commit esperado.

  4. Publica la rama principal autorizada.

  5. Observa en el remoto el archivo y el historial.

Error frecuente: pensar que GitHub es el propio Git o que toda carpeta publicada es pública. Corrección: distingue herramienta local, servidor remoto, visibilidad y permisos antes de subir contenido.

Ejercicio: publica un repositorio con README.md y un historial de dos commits. Resultado esperado: el remoto muestra los mismos dos commits y el archivo final, sin incluir archivos personales.

Comprueba tu resultado

La copia remota contiene exactamente los archivos previstos y puedes explicar qué parte ocurrió localmente y cuál en el servidor.

Rama de trabajo con commits, pruebas y revisión antes de integrarla en la rama principal.
CursaloMapa de práctica
Cambios pequeños, revisión clara

Los cambios se preparan en una rama y se registran en commits pequeños. Las pruebas y la revisión del pull request comprueban el cambio antes de integrarlo. El historial permite entender qué se modificó y recuperar una versión anterior.

Ver la infografía en tamaño completo ↗
Fuentes para profundizar
CONCEPTO CLAVE: GitHub es una plataforma en la nube que actúa como hosting para tus repositorios Git. Mientras Git es la herramienta que controlas localmente en tu computadora, GitHub te permite almacenar tu código en internet y colaborar con otros desarrolladores de forma remota.

¿Qué es GitHub?

GitHub es una plataforma de desarrollo colaborativo fundada en 2008 que utiliza Git como sistema de control de versiones. Actualmente pertenece a Microsoft y es el hosting de código más utilizado del mundo, con más de 100 millones de desarrolladores activos.

Piensa en GitHub como una red social para programadores, pero especializada en código. Aquí puedes:

  • Almacenar tus proyectos de forma segura en la nube
  • Colaborar con otros desarrolladores en tiempo real
  • Compartir tu trabajo con la comunidad mundial
  • Revisar y discutir cambios antes de fusionarlos
  • Gestionar proyectos con herramientas integradas de seguimiento

Git vs GitHub: No son lo mismo

Es fundamental entender la diferencia entre ambos conceptos:

CaracterísticaGitGitHub
Qué esSistema de control de versionesPlataforma de hosting en la nube
InstalaciónSe instala localmenteSe accede vía navegador o app
Quién lo mantieneProyecto open sourceMicrosoft (empresa)
Función principalGestionar cambios del códigoAlmacenar y colaborar en código
Requiere internetNo, funciona offlineSí, para la mayoría de funciones
📌 Recuerda: Git es la herramienta, GitHub es el lugar donde la usas para colaborar. Puedes usar Git sin GitHub, pero no puedes usar GitHub sin Git.

¿Por qué usar GitHub para trabajo en equipo?

Cuando trabajas en un proyecto con varias personas, los problemas surgen inevitablemente: alguien sobrescribe el código de otro, no se sabe quién hizo qué cambio, o se pierde trabajo por errores humanos. GitHub resuelve estos problemas ofreciendo:

  1. Repositorios remotos: Todo el código está centralizado y accesible para todo el equipo.
  2. Historial completo: Cada cambio queda registrado con su autor, fecha y razón.
  3. Protección de ramas: Puedes evitar que código sin revisar llegue a la rama principal.
  4. Revisiones de código: Los Pull Requests permiten que otros revisen antes de fusionar.
  5. Resolución de conflictos: Herramientas visuales para resolver cuando dos personas modifican lo mismo.

Conceptos fundamentales de GitHub

Repositorio (Repository)

Un repositorio es como una carpeta que contiene todo tu proyecto: código, archivos, historial de cambios y configuración de Git. En GitHub puedes crear repositorios públicos (visibles para todos) o privados (solo accesibles para quienes tú invites).

💡 Buena práctica: Cada proyecto importante debería tener su propio repositorio. Evita meter muchos proyectos en un solo repositorio; mantenlos organizados y separados.

Commit

Un commit es una instantánea de tus cambios en un momento específico. Cuando haces commit en Git, guardas una versión de tu trabajo. Al subirlo a GitHub con git push, esa versión queda disponible para tu equipo.

Rama (Branch)

Las ramas te permiten trabajar en nuevas funcionalidades sin afectar el código principal. Imagina una rama como una línea paralela de desarrollo: puedes experimentar, romper cosas y cuando estés seguro, fusionarla con la rama principal.

📌 Convenio común: La rama principal se llama main o master. Las ramas de características suelen seguir el formato feature/nombre o fix/bug-descripcion.

Pull Request (PR)

Un Pull Request es el mecanismo principal de colaboración en GitHub. Cuando terminas una funcionalidad en tu rama, abres un PR para proponer que esos cambios se fusionen con la rama principal. Tu equipo puede:

  • Revisar el código línea por línea
  • Dejar comentarios y sugerencias
  • Aprobar o solicitar cambios
  • Ejecutar pruebas automáticas

Merge

El merge es la fusión de dos ramas. Cuando tu PR es aprobado, los cambios se fusionan en la rama objetivo. GitHub detecta automáticamente si hay conflictos y te ayuda a resolverlos.

Primeros pasos en GitHub

Ver más: Cómo crear tu cuenta y primer repositorio
  1. Crea una cuenta: Ve a github.com y regístrate con tu email. Elige un nombre de usuario profesional, ya que será tu identidad en el mundo del desarrollo.
  2. Crea un nuevo repositorio: Haz clic en el botón verde "New repository". Dale un nombre descriptivo, selecciona si será público o privado, y opcionalmente añade un README.
  3. Conecta tu repositorio local: Si ya tienes código local con Git, necesitas vincularlo. Copia la URL del repositorio y ejecuta:
git remote add origin https://github.com/tu-usuario/tu-repositorio.git
git branch -M main
git push -u origin main

Esto vincula tu carpeta local con el repositorio remoto en GitHub.

Flujo de trabajo típico en equipo

Cuando trabajas en un proyecto colaborativo en GitHub, el flujo generalmente sigue estos pasos:

PasoAcción localAcción en GitHub
1Actualizar rama main localDescargar últimos cambios
2Crear rama de característicaSe crea automáticamente
3Desarrollar y hacer commitsCommits locales
4Subir cambiosgit push origin feature/nombre
5Abrir Pull RequestSolicitar revisión
6Revisar feedbackResponder comentarios
7Fusionar cambiosMerge en main
⚠️ Precaución: Nunca hagas commit directamente en la rama main en proyectos colaborativos. Siempre trabaja en ramas separadas y usa Pull Requests para integrar cambios. Esto mantiene el código principal limpio y permite revisión.

Funciones adicionales de GitHub

GitHub ofrece muchas herramientas integradas que facilitan el trabajo en equipo:

  • Issues: Para reportar bugs, solicitar funcionalidades o planificar tareas.
  • Projects: Tableros tipo Kanban para gestionar el progreso del equipo.
  • Actions: Automatización de tareas como ejecutar pruebas o desplegar código.
  • Wiki: Documentación del proyecto accesible desde el repositorio.
  • Releases: Versiones formales de tu software con notas de cambio.

Integración con Git

GitHub no reemplaza a Git; lo complementa. Tu flujo de trabajo diario combinará comandos de Git con la interfaz de GitHub:

# Comandos Git para trabajar con GitHub

git clone https://github.com/usuario/repositorio.git  # Descargar repo
git fetch origin                                     # Actualizar info remota
git pull origin main                                 # Descargar y fusionar
git push origin mi-rama                              # Subir cambios
git remote -v                                        # Ver repositorios remotos
💡 Consejo profesional: Antes de empezar a trabajar cada día, ejecuta git pull origin main para asegurarte de que tienes la última versión del código. Esto evita conflictos grandes más adelante.
"GitHub es donde se aloja el código abierto, donde se construyen las contribuciones a proyectos privados y donde los desarrolladores presentan su trabajo." — Tom Preston-Werner, fundador de GitHub

Seguridad y permisos

En proyectos colaborativos, GitHub permite controlar quién puede hacer qué:

  • Propietario (Owner): Control total sobre el repositorio.
  • Mantenedor (Maintainer): Puede gestionar algunas configuraciones pero no eliminar el repo.
  • Escritor (Write): Puede hacer push de código pero no modificar configuración.
  • Lector (Triage): Puede gestionar issues y PRs pero no modificar código.
  • Lectura (Read): Solo puede ver el código, útil para revisión.
CONCEPTO CLAVE: En GitHub, la seguridad de tu código depende de configurar correctamente los permisos y activar funciones de protección en ramas importantes como main. Un error común es dar permisos de escritura a todos los colaboradores; es mejor usar el sistema de Pull Requests para todo cambio.
🧠 Quiz

¿Cuál de las siguientes afirmaciones es CORRECTA sobre GitHub?

  • A) GitHub es un sistema de control de versiones que funciona sin internet
  • B) GitHub es una plataforma de hosting que utiliza Git para el control de versiones
  • C) GitHub y Git son exactamente lo mismo, solo se escriben diferente
  • D) GitHub reemplaza completamente a Git y no necesitas instalarlo
✅ Respuesta correcta: B) GitHub es una plataforma de hosting que utiliza Git para el control de versiones. Git es la herramienta local de control de versiones, mientras GitHub es el servicio en la nube donde se almacenan y comparten los repositorios.

Conclusión

GitHub se ha convertido en una herramienta esencial para cualquier desarrollador y equipo de programación. No solo ofrece almacenamiento de código, sino toda una infraestructura de colaboración que incluye revisión de código, seguimiento de problemas, automatización de flujos de trabajo y gestión de proyectos.

Dominar GitHub es una habilidad fundamental en el mercado laboral actual. Las empresas buscan desarrolladores que sepan trabajar en equipo usando estas herramientas, no solo escribir código individual. En las siguientes lecciones profundizaremos en las funcionalidades colaborativas que hacen de GitHub una plataforma poderosa para el trabajo remoto en equipo.

💡 Próximo paso: Crea tu cuenta en GitHub si aún no la tienes, crea un repositorio de prueba y experimenta creando archivos, haciendo commits y explorando la interfaz. La mejor forma de aprender es haciendo.

Sigue con GitHub Colaborativo: Pull Requests y Flujos de Equipo

Esta lección forma parte de un curso de Cursalo. Revisa su programa y elige entre la compra individual o el acceso a toda la escuela.

Si ya tenías acceso a este curso, entra con tu cuenta: tus derechos y tu progreso se conservan. No necesitas comprarlo de nuevo.

01 / ELEGIR UNA RUTA

El próximo paso

Aprende IA mientras construyes algo que sí necesitas.

Empieza por el curso inicial o explora el catálogo para encontrar una práctica alineada con tu trabajo.