Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Introducción Práctica al Control de Versiones c...

Introducción Práctica al Control de Versiones con Git y GitHub

Avatar for Abraham Zamudio

Abraham Zamudio

October 13, 2026

More Decks by Abraham Zamudio

Other Decks in Education

Transcript

  1. Silabo del curso Introducción Práctica al Control de Versiones con

    Git y GitHub​ 2026 ​ Profesor Abraham Zamudio
  2. 1.​ Datos generales del curso Asignatura: Introducción Práctica al Control

    de Versiones con Git y GitHub Horas: 30 horas 2.​ Presentación El curso de control de versiones con Git y GitHub que se presenta en este sílabo representa una respuesta directa a una de las necesidades más apremiantes en la formación de cualquier profesional vinculado al desarrollo de software, la gestión de proyectos digitales o la producción colaborativa de contenidos. En un mundo donde el trabajo en equipo, la trazabilidad de los cambios y la capacidad de experimentar sin temor a perder información se han convertido en competencias fundamentales, dominar las herramientas de versionado ya no es un lujo ni un conocimiento reservado a unos pocos especialistas, sino una habilidad transversal que todo estudiante y profesional debería adquirir durante su formación. Este curso ha sido diseñado precisamente con ese propósito: acercar al participante, desde una perspectiva eminentemente práctica y accesible, al ecosistema de Git y GitHub, eliminando las barreras técnicas que tradicionalmente han alejado a muchos usuarios de estas herramientas y demostrando que su aprendizaje no solo es posible sin conocimientos avanzados de programación, sino que puede resultar altamente gratificante y directamente aplicable a proyectos reales. La propuesta pedagógica de este curso parte de una premisa fundamental: el control de versiones no es un tema exclusivo de ingenieros de software, sino una práctica cotidiana que beneficia a cualquier persona que trabaje con documentos, proyectos o archivos que evolucionan con el tiempo. A lo largo de las diez sesiones que componen el programa, el estudiante descubrirá que conceptos como repositorio, commit, rama, fusión, pull request o release no son términos abstractos ni intimidantes, sino herramientas concretas que resuelven problemas muy reales: cómo evitar perder versiones anteriores de un trabajo, cómo colaborar con otros sin sobrescribir sus cambios, cómo experimentar con nuevas ideas sin poner en riesgo lo que ya funciona, cómo organizar tareas y responsabilidades dentro de un equipo, y cómo presentar el resultado final de un proyecto de manera profesional y atractiva. Cada una de estas preguntas encuentra respuesta en el contenido del curso, que avanza de forma progresiva desde los conceptos más elementales hasta la automatización y el uso de inteligencia artificial como asistente del equipo. El curso comienza con una sesión introductoria que sienta las bases conceptuales del versionado. En ella, el estudiante comprende qué es un repositorio, para qué sirve, cuál es la diferencia entre Git como herramienta local y GitHub como plataforma en la nube, y cómo estas tecnologías se aplican a casos cotidianos como la gestión de documentos, proyectos académicos o trabajos en equipo. Esta primera aproximación se complementa con una práctica guiada en la que el participante crea su cuenta en GitHub, instala GitHub Desktop o utiliza la interfaz web, y construye su primer repositorio de prueba con un archivo README editado en línea. De este modo, desde la primera sesión el alumno ya cuenta con un producto tangible: un repositorio personal funcional que constituye el punto de partida de un portafolio que irá enriqueciéndose a lo largo del curso. Abraham Zamudio
  3. La segunda sesión introduce al estudiante en el concepto de

    commit y en la importancia de guardar cambios de forma ordenada y significativa. Aquí se abordan las buenas prácticas para redactar mensajes claros y concisos, se enseña a organizar el proyecto mediante carpetas y archivos, y se explica el papel del archivo .gitignore para evitar subir archivos pesados o información sensible como contraseñas. La práctica correspondiente consiste en versionar un proyecto sencillo —ya sea un conjunto de apuntes, un recetario o un pequeño sitio web— realizando al menos cinco commits con mensajes descriptivos. Este ejercicio no solo refuerza los conceptos aprendidos, sino que desarrolla en el estudiante el hábito de documentar su trabajo de manera sistemática, una disciplina que resultará invaluable en cualquier ámbito profesional. A partir de la tercera sesión, el curso profundiza en el trabajo con ramas, presentándolas como una suerte de "copias paralelas" que permiten experimentar con cambios sin afectar la rama principal del proyecto. El estudiante aprende a crear ramas desde la interfaz gráfica, a cambiar entre ellas, a visualizar diferencias y a fusionarlas cuando el trabajo está listo. La práctica guiada propone crear una rama para añadir una sección nueva a un proyecto y fusionarla posteriormente con la rama main utilizando GitHub Desktop, lo que refuerza la confianza del alumno en su capacidad para trabajar sin miedo a romper lo que ya funciona. Esta sesión marca un punto de inflexión en la progresión del curso, pues a partir de aquí el estudiante comienza a operar con flujos de trabajo más cercanos a los que se utilizan en entornos profesionales reales. La cuarta sesión aborda la publicación y el intercambio de proyectos en GitHub. El estudiante aprende qué es un repositorio remoto, cómo publicar un proyecto local desde GitHub Desktop, cómo clonar un repositorio existente y qué significan términos como pull y push en un lenguaje sencillo y accesible. La práctica correspondiente consiste en publicar el proyecto de la sesión anterior en GitHub y clonar el repositorio de un compañero para explorarlo, lo que introduce al alumno en la dinámica de la colaboración distribuida, uno de los pilares del trabajo moderno en equipos de desarrollo. Las sesiones quinta y sexta se centran en la colaboración activa mediante issues y pull requests. El estudiante aprende a crear issues con título y descripción, a utilizar etiquetas básicas como bug, mejora o documentación, y a resolver issues mediante pull requests que referencian el problema original. Asimismo, se aborda la revisión del trabajo de otros: qué mirar en un pull request, cómo comentar líneas concretas, cómo sugerir mejoras y cómo distinguir entre comentarios importantes y sugerencias opcionales. La práctica incluye revisar dos pull requests de compañeros con comentarios constructivos y corregir un pull request propio tras una revisión, lo que desarrolla en el estudiante habilidades de comunicación técnica y pensamiento crítico fundamentales para el trabajo en equipo. La séptima sesión introduce la organización del trabajo en equipo mediante tableros Kanban y GitHub Projects. El estudiante aprende a descomponer un proyecto en tareas pequeñas, asignar responsables y fechas, y enlazar issues con ramas y pull requests. La práctica consiste en crear un tablero con seis u ocho tareas del proyecto en equipo, asignarlas y moverlas según su avance, lo que proporciona al alumno una visión integral de la planificación y el seguimiento de proyectos colaborativos. La octava sesión aborda la automatización y la protección básica de repositorios. Se introduce el concepto de integración continua como un conjunto de comprobaciones automáticas que se ejecutan al subir cambios, se enseñan Abraham Zamudio
  4. plantillas de issues y pull requests, y se explica cómo

    proteger la rama main para evitar cambios directos y exigir revisión obligatoria antes de fusionar. La práctica correspondiente consiste en activar una plantilla de pull request y proteger la rama principal, lo que dota al estudiante de herramientas para garantizar la calidad y la estabilidad de sus proyectos. La novena sesión explora el uso de la inteligencia artificial como asistente del equipo. El estudiante aprende a utilizar herramientas de IA para redactar mensajes de commit, descripciones de pull requests y borradores de documentación, siempre bajo la premisa de que toda propuesta generada por la IA debe ser revisada críticamente por un ser humano. Se enfatiza la importancia de detectar errores o invenciones y de no compartir contraseñas ni datos sensibles. La práctica consiste en usar una IA para redactar la descripción de un pull request y compararla con la revisión propia, lo que prepara al alumno para integrar estas herramientas emergentes en su flujo de trabajo de manera responsable y eficaz. Finalmente, la décima sesión cierra el curso con la publicación y presentación del trabajo realizado. El estudiante aprende qué es una versión y por qué numerarla, cómo crear un release sencillo en GitHub con notas de versión, y cómo construir un portafolio atractivo con un README claro, capturas y repositorios fijados en el perfil. La presentación final permite a cada equipo mostrar su repositorio, tablero y release, recibiendo preguntas y retroalimentación del profesor y de sus compañeros. De este modo, el curso culmina con un producto tangible y presentable que el estudiante puede incorporar a su portafolio profesional y utilizar como carta de presentación en futuras oportunidades laborales o académicas. En síntesis, este curso ofrece una formación integral, progresiva y eminentemente práctica en el uso de Git y GitHub, diseñada para que cualquier estudiante, independientemente de su experiencia previa en programación, pueda adquirir las competencias necesarias para gestionar proyectos de forma profesional, colaborar eficazmente en equipos de trabajo y presentar sus resultados con estándares de calidad. El enfoque centrado en la práctica guiada, los entregables concretos y la retroalimentación continua garantiza que el aprendizaje no se quede en la teoría, sino que se traduzca en habilidades aplicables desde el primer día. Con un prerrequisito tan accesible como el Curso Básico de Python, este programa se posiciona como una pieza clave en la formación de profesionales capaces de desenvolverse con soltura en entornos colaborativos y tecnológicamente exigentes, preparados para afrontar los desafíos del trabajo digital contemporáneo con confianza, criterio y responsabilidad. 3.​ Objetivo general del curso Capacitar al estudiante en el uso práctico y progresivo de Git y GitHub como herramientas fundamentales para el control de versiones, la organización de proyectos y la colaboración en equipo, mediante un enfoque guiado y accesible desde interfaces gráficas y la web. Al finalizar el curso, el estudiante será capaz de gestionar repositorios, registrar cambios con commits claros, trabajar con ramas, publicar y clonar proyectos, colaborar mediante issues y pull requests, revisar el trabajo de otros, planificar tareas con tableros, aplicar protección básica y automatización, apoyarse responsablemente en la inteligencia artificial y presentar versiones y portafolios de manera profesional. Abraham Zamudio
  5. 4.​ Objetivos específicos del curso •​ Comprender los conceptos iniciales

    del control de versiones, la diferencia entre Git y GitHub, y crear repositorios personales con README editado. •​ Aplicar buenas prácticas de versionado mediante commits descriptivos, organización de carpetas y archivos, y uso básico de .gitignore. •​ Gestionar ramas, fusiones, repositorios remotos, operaciones de pull y push, clonación y publicación de proyectos en GitHub. •​ Colaborar en equipo mediante issues, pull requests, revisiones constructivas, tableros Kanban/GitHub Projects, plantillas y protección de la rama main. •​ Integrar la IA como asistente para redactar commits, descripciones y documentación, y publicar releases y un portafolio profesional con presentación final. 5.​ Resultados de aprendizaje Al finalizar el curso el alumno: •​ Identifica y explica los conceptos fundamentales del control de versiones, diferenciando Git como herramienta local y GitHub como plataforma en la nube, y reconoce la utilidad de los repositorios en contextos académicos y profesionales. •​ Crea y administra repositorios personales, registra cambios mediante commits claros y descriptivos, organiza carpetas y archivos, y aplica un archivo `.gitignore` básico para evitar subir archivos pesados o información sensible. •​ Utiliza ramas para experimentar y desarrollar cambios de forma segura, realiza fusiones sencillas, publica proyectos locales en GitHub, clona repositorios existentes y mantiene la sincronización mediante operaciones de `pull` y `push`. •​ Colabora en proyectos grupales mediante la creación y gestión de issues, la elaboración de pull requests con descripciones claras, la revisión constructiva del trabajo de compañeros y la corrección de sus propios aportes a partir de la retroalimentación recibida. •​ Organiza el trabajo en equipo utilizando tableros Kanban y GitHub Projects, descompone proyectos en tareas, asigna responsables y fechas, y vincula issues con ramas y pull requests. •​ Aplica mecanismos básicos de automatización, plantillas y protección de la rama main, integra la inteligencia artificial como asistente para redactar documentación y descripciones bajo revisión humana, y publica releases y un portafolio profesional con presentación final. 6.​ Metodología El desarrollo de las sesiones se efectuará mediante exposiciones del profesor, las mismas que se manejan en forma dinámica e interactiva con los alumnos, relacionando cada uno de los conceptos teóricos con casos prácticos. Asimismo, se aplicarán casos de estudio durante el desarrollo del curso con la finalidad de que los participantes resuelvan y presenten soluciones de acuerdo al esquema metodológico asignado por el profesor del curso. Abraham Zamudio
  6. 7.​ Contenido por Sesiones: # DE HORAS CONTENIDO 3hrs ¿Qué

    es el control de versiones? •​ Conceptos iniciales ◦​ Qué es un repositorio y para qué sirve. ◦​ Diferencia entre Git (herramienta) y GitHub (plataforma en la nube). ◦​ Casos cotidianos: documentos, proyectos, trabajos en equipo. •​ Primeros pasos ◦​ Crear una cuenta en GitHub. ◦​ Instalar GitHub Desktop o usar la web (sin terminal). •​ Práctica guiada ◦​ Crear un repositorio de prueba desde la web. ◦​ Añadir un archivo README y editarlo en línea. •​ Entregable ◦​ Repositorio personal creado con README editado. 3hrs Mi primer proyecto versionado •​ Guardar cambios ◦​ Qué es un commit y por qué es importante. ◦​ Cómo hacer commits desde GitHub Desktop o algún IDE. ◦​ Buenas prácticas: mensajes claros y cortos. •​ Organizar el proyecto ◦​ Crear carpetas y archivos. ◦​ Qué es el archivo .gitignore y para qué sirve. ◦​ Evitar subir archivos pesados o contraseñas. •​ Práctica guiada ◦​ Versionar un proyecto sencillo (apuntes, recetas, pequeño sitio web). ◦​ Realizar al menos 5 commits con mensajes descriptivos. •​ Entregable ◦​ Proyecto local con 5 commits claros y .gitignore básico. 3hrs Ramas: trabajar sin miedo a romper •​ ¿Qué es una rama? ◦​ Idea de “copia paralela” para probar cambios. ◦​ Por qué no trabajar siempre sobre la rama principal (main). •​ Uso básico de ramas ◦​ Crear una rama desde la interfaz gráfica. ◦​ Cambiar entre ramas y ver diferencias. ◦​ Fusionar una rama sencilla (sin conflictos). •​ Práctica guiada ◦​ Crear una rama para añadir una sección nueva a un proyecto. ◦​ Fusionarla con main usando GitHub Desktop. •​ Entregable ◦​ Repositorio con una rama creada, modificada y fusionada. 3hrs Publicar y compartir en GitHub Abraham Zamudio
  7. •​ Subir un proyecto ◦​ Qué es un repositorio remoto.

    ◦​ Publicar un proyecto local en GitHub desde GitHub Desktop. ◦​ Clonar un repositorio existente. •​ Sincronización básica ◦​ Qué significa “pull” y “push” en lenguaje sencillo. ◦​ Cómo mantener el proyecto actualizado. •​ Práctica guiada ◦​ Publicar el proyecto de la sesión 2 en GitHub. ◦​ Clonar el repositorio de un compañero y explorarlo. •​ Entregable ◦​ Proyecto publicado en GitHub y repositorio de compañero clonado. 3hrs 3hrs 3hrs Colaborar: issues y pull requests •​ Issues ◦​ Qué es un issue y para qué se usa. ◦​ Crear un issue sencillo con título y descripción. ◦​ Etiquetas básicas: bug, mejora, documentación. •​ Pull Requests (PR) ◦​ Qué es un PR y por qué se usa en equipo. ◦​ Crear un PR desde la web paso a paso. ◦​ Descripción clara y referencia al issue (Closes #1). •​ Práctica guiada ◦​ Abrir un issue y resolverlo con un PR sencillo. ◦​ Revisar el PR de un compañero y dejar un comentario. •​ Entregable ◦​ Un issue creado, un PR propio y un comentario en el PR de otro. Revisar el trabajo de otros •​ Revisión de código ◦​ Qué mirar en un PR: claridad, errores, estilo. ◦​ Comentar líneas concretas y sugerir mejoras. ◦​ Aprobar o solicitar cambios. •​ Etiqueta y comunicación ◦​ Comentar el trabajo, no a la persona. ◦​ Distinguir comentarios importantes de sugerencias opcionales. ◦​ Responder a comentarios con nuevos cambios. •​ Práctica guiada ◦​ Revisar dos PRs de compañeros con comentarios constructivos. ◦​ Corregir un PR propio tras una revisión. •​ Entregable ◦​ Dos revisiones escritas y un PR propio corregido. Organizar el trabajo en equipo •​ Tableros y planificación ◦​ Qué es un tablero Kanban y para qué sirve. ◦​ Usar GitHub Projects de forma básica. ◦​ Columnas: pendiente, en curso, hecho. •​ Issues y tareas ◦​ Descomponer un proyecto en tareas pequeñas. Abraham Zamudio
  8. ◦​ Asignar responsables y fechas. ◦​ Enlazar issues con ramas

    y PRs. •​ Práctica guiada ◦​ Crear un tablero con 6–8 tareas del proyecto en equipo. ◦​ Asignar tareas y moverlas según avance. •​ Entregable ◦​ Tablero con tareas asignadas y al menos una tarea completada. 3hrs 3hrs 3hrs Automatización y protección básica •​ ¿Qué es la integración continua? ◦​ Idea de “comprobaciones automáticas” al subir cambios. ◦​ Ejemplos sencillos: revisar enlaces, formato o pruebas. •​ Plantillas y protección ◦​ Plantillas de issues y pull requests en GitHub. ◦​ Proteger la rama main para evitar cambios directos. ◦​ Revisión obligatoria antes de fusionar. •​ Práctica guiada ◦​ Activar una plantilla de PR en el repositorio del equipo. ◦​ Proteger main y comprobar que no se puede subir directo. •​ Entregable ◦​ Repositorio con plantilla de PR y main protegida. IA como asistente del equipo •​ Usos prácticos de la IA ◦​ Pedir ayuda para redactar mensajes de commit o descripciones de PR. ◦​ Explicar cambios o resolver dudas sobre el repositorio. ◦​ Generar borradores de documentación. •​ Revisión humana ◦​ Siempre revisar lo que propone la IA. ◦​ Detectar errores o inventos. ◦​ No compartir contraseñas ni datos sensibles. •​ Práctica guiada ◦​ Usar una IA para redactar la descripción de un PR. ◦​ Comparar la propuesta con la revisión propia y corregir. •​ Entregable ◦​ Descripción de PR asistida por IA y revisada manualmente. Publicar y mostrar mi trabajo •​ Versiones y releases ◦​ Qué es una versión y por qué numerarlas (v1.0.0). ◦​ Crear un release sencillo en GitHub. ◦​ Añadir notas de la versión. •​ Portafolio ◦​ README claro con descripción, uso y capturas. ◦​ Fijar repositorios en el perfil. ◦​ Cómo contar el proyecto en una entrevista. •​ Presentación final ◦​ Cada equipo muestra su repositorio, tablero y release. ◦​ Preguntas y retroalimentación. •​ Entregable ◦​ Release v1.0.0 publicado y presentación del equipo. Abraham Zamudio
  9. •​ Prerrequisitos:​ Curso Básico de Python y/o R 8.​ Bibliografía

    •​ Scott, C., & Ben, S. (2016). Pro git. •​ Tsitoara, M. (2024). Beginning git and github: version control, project management and teamwork for the new developer. Apress. •​ Kawaida Villegas, K. (2026). Git y GitHub: Fundamentos y buenas prácticas para desarrolladores. Fondo Editorial UPDS. https://doi.org/10.59659/upds.book.2026.002 •​ Antual, A. T. (2026). Prácticas recomendadas para un desarrollo eficiante de" Vibe Coding" (Doctoral dissertation). •​ Moure, B. (2024). Git y GitHub desde cero: Guía de estudio teórico-práctica paso a paso más curso en vídeo (2.ª ed.). Independiente / Amazon. •​ Westby, E. J. H. (2015). Git for teams: a user-centered approach to creating efficient workflows in Git. " O'Reilly Media, Inc.". Abraham Zamudio