Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

Uso de GitHub en la Cátedra

Flujos de trabajo, Pull Requests y herramientas de colaboración en la UNRN

Universidad Nacional de Rio Negro - Sede Andina

Esta guía detalla cómo se utiliza la plataforma GitHub como entorno de entrega, corrección y discusión en la materia. Se asume que comprendés los conceptos explicados en la guía de Git básico.


1. Creación y configuración de la cuenta

Para las actividades de la materia, debés contar con una cuenta activa en GitHub.


2. Autenticación y clonación de repositorios

Para interactuar de forma segura con los servidores de GitHub desde tu terminal local sin ingresar tus credenciales en cada operación, debés configurar un método de autenticación.

Opción A: Autenticación por SSH (Recomendada)

Consiste en generar un par de claves criptográficas en tu computadora local y asociar la clave pública a tu cuenta de GitHub.

  1. Generar la clave SSH en tu terminal:

    ssh-keygen -t ed25519 -C "tu_email@unrn.edu.ar"

    (Presioná Enter en todas las solicitudes para usar la ruta por defecto y omitir la contraseña de la clave, si así lo preferís).

  2. Iniciar el agente SSH y añadir la clave:

    eval "$(ssh-agent -s)"
    ssh-add ~/.ssh/id_ed25519
  3. Copiar la clave pública:

    cat ~/.ssh/id_ed25519.pub

    Copiá el contenido completo impreso en pantalla.

  4. Registrar la clave en GitHub:

    • Ingresá a GitHub ⇾ Perfil (esquina superior derecha) ⇾ SettingsSSH and GPG keys.

    • Hacé clic en New SSH key, asignale un título (ej: “Notebook Cátedra”) y pegá la clave pública en el campo correspondiente.

Captura de pantalla de la interfaz de configuración de claves SSH en GitHub. Se destaca el botón verde 'New SSH Key' en la parte superior derecha, y el formulario con los campos 'Title' (donde se ingresa el nombre de la máquina) y 'Key' (el área de texto grande donde se debe pegar el contenido de la clave pública id_ed25519.pub).

Página de configuración de claves SSH en GitHub.

  1. Clonar el repositorio: Una vez configurada la clave, cloná tus proyectos utilizando la dirección SSH:

    git clone git@github.com:INGCOM-UNRN-P1/tu-repositorio.git

Opción B: Token de Acceso Personal (PAT)

Si preferís usar HTTPS en lugar de SSH, GitHub requiere un Token de Acceso Personal (PAT) como contraseña de autenticación.


3. El flujo de trabajo con Pull Requests (PR)

En la cátedra, cada entrega o corrección de trabajos prácticos se gestiona mediante un Pull Request (Petición de Integración). Un PR es una propuesta de cambios que permite comparar tu código de entrega contra la rama principal de control.

Proceso de envío de una entrega

  1. Crear una rama local para la tarea actual, partiendo siempre desde main actualizada:

    git checkout main
    git pull origin main
    git checkout -b entrega-tp1
  2. Realizar los cambios en el código fuente, documentar las interfaces con Doxygen (ver la Guía de Doxygen) y verificar que el proyecto compile sin advertencias.

  3. Subir la rama al servidor remoto:

    git commit -am "Finaliza la resolución del TP1"
    git push origin entrega-tp1
  4. Abrir el Pull Request:

    • Ingresá al repositorio del proyecto en la web de GitHub.

    • Visualizarás un banner indicando que se subió una rama nueva. Hacé clic en Compare & pull request.

    • Completá el título del PR con tu nombre y el número de TP.

    • Creá el PR apuntando tu rama de entrega (entrega-tp1) hacia la rama principal (main).

Captura de pantalla de la página principal del repositorio en GitHub tras subir una nueva rama. Se observa un banner horizontal destacado de color amarillo claro con el mensaje 'entrega-tp1 had recent pushes less than a minute ago' y un botón verde en la derecha rotulado 'Compare & pull request'.

Banner de aviso para iniciar un nuevo Pull Request.


4. Revisión y respuesta a comentarios

Una vez abierto el Pull Request, los docentes de la cátedra revisarán el código. Las correcciones se realizan directamente sobre las líneas de código afectadas en el PR.

Interacción durante la revisión

Captura de pantalla de un comentario de revisión dentro de un Pull Request. Se observa un bloque de código en C con una anotación superpuesta de un docente sugiriendo una mejora, un campo de texto para escribir una respuesta en la parte inferior, y el botón 'Resolve conversation' habilitado en la esquina derecha del hilo.

Hilo de discusión y revisión de código sobre una línea específica en un Pull Request.


5. Consultas con GitHub Discussions

Para canalizar las dudas teóricas y metodológicas de la cursada, la cátedra utiliza la pestaña Discussions del repositorio institucional en lugar del correo electrónico.


6. Reporte de fallas mediante GitHub Issues

Los Issues se reservan exclusivamente para reportar fallas de infraestructura del entorno, errores ortográficos o conceptuales detectados en las guías y apuntes, o problemas con las pruebas unitarias provistas por la cátedra.

Para reportar un error del apunte:

  1. Ingresá a la sección Issues del repositorio del apunte.

  2. Hacé clic en New issue.

  3. Describí la falla indicando el archivo afectado y sugiriendo la corrección correspondiente.


7. Temas conexos

Integración Continua (CI)

Cada vez que abrís un Pull Request o realizás un push a una rama de entrega, se disparan flujos automáticos de comprobación (GitHub Actions). Estos procesos se encargan de compilar tu proyecto bajo la suite de compiladores de la cátedra y correr los tests automáticos.

Captura de pantalla del estado de las comprobaciones automáticas de GitHub Actions al final de la página de un Pull Request. Se observa una cruz roja junto al nombre del workflow 'Compilación y Tests' indicando que una comprobación ha fallado, acompañado del enlace 'Details' para acceder al log detallado del compilador.

Visualización del estado de los tests automatizados de integración continua en el Pull Request.