class: center, middle, inverse, title-slide # Python II y GitHub ### Licenciatura en Ciencias Genómicas, UNAM ### First version: 2022-07-08; Last update: 2025-09-09 --- <style type="text/css"> /* From https://github.com/yihui/xaringan/issues/147 */ .scroll-output { height: 80%; overflow-y: scroll; } /* https://stackoverflow.com/questions/50919104/horizontally-scrollable-output-on-xaringan-slides */ pre { max-width: 100%; overflow-x: scroll; } </style> ## Contenido 1. [Especificar versiones en Git con tag](./leccion1/1-Etiquetas.html) 2. [Trabajar con ramas en Git: git branch](./leccion2/2-Ramas.html) 3. [Manejo de issues en GitHub](./leccion3/3-issues.html) 4. [Gestión de un proyecto con GitHub](4-project.html) --- # Gestión de un proyecto con GitHub ## Objetivo Al finalizar la lección, dispondremos de un espacio integrado para la gestión de issues y pull requests; medio por el cual podremos priorizar y coordinar nuestro trabajo y el desarrollo del proyecto en general. Conoceremos cómo crear un proyecto y tareas en GitHub, así como vincularlo a un repositorio. <img src="img/board.png" width="450px" style="display: block; margin: auto;" /> --- ## Introducción Pensemos en que queremos dar inicio a un proyecto. Sin importar el tipo que sea, lo principal es comenzar identificando las actividades que debemos realizar, de inicio no lograremos identificar todas las tareas, pero sí al menos las generales. En el caso de un proyecto donde estamos desarrollando código pasa exactamente lo mismo; tenemos que organizar nuestras actividades, y en conjunto las del equipo de trabajo y colaboradores. <img src="img/tablero-kanban.png" width="450px" style="display: block; margin: auto;" /> --- ## "Project" en GitHub Un _proyecto_ en GitHub es tablero u hoja de cálculo personalizable que integra los issues y solicitudes de incorporación de cambios (pull requests). En un proyecto se puede personalizar el diseño filtrando, clasificando y agrupando los issues. Los proyectos se componen de issues, pull requests y notas que se clasifican como tarjetas en columnas de su elección. Puedes arrastrar y soltar para reordenar las tarjetas dentro de una columna, mover tarjetas de columna a columna y cambiar el orden de las columnas. <img src="img/projects_board.png" width="850px" style="display: block; margin: auto;" /> --- ## Creación de un "Project" en GitHub NOTA: Solo un integrante del equipo 1. Ir a la sección "Projects" y hacer clic en New project -- 2. Seleccionar una plantilla (board) -- 3. Asignar un nombre al proyecto -- 4. Dar clic en el ícono de candado a un lado del nombre del proyecto. Ir a la sección Manage access. Añadir al resto del equipo. -- 5. TODOS: Observen que el proyecto está compuesto por 3 carriles "Todo", "In progress" y "Done". Cada uno cambie el nombre de cada carril por la fases generales del proyecto: Planificación, Desarrollo y Cierre -- 6. Agreguen las diferentes actividades que ya tienen identificadas por hacer, por ejemplo: - Selección de una licencia para el repositorio - Realización del reporte del proyecto - Actualización del README - Selección de datos par trabajar - Descarga de datos para el proyecto - Filtrado de datos - ¿Qué más? Recuerden poner el el carril correspondiente cada actividad y etiquetar a las personas involucradas/encargadas. --- Para ligar el proyecto al repositorio, solo un integrante del equipo: 1. Localiza el repositorio en GitHub 2. Ve a la sección "Projects" 3. Da clic en la opción "Link a project" 4. Selecciona tu repositorio y da clic en "Submit" 5. TODOS: Verifiquen que en la sección "Projects" de su repositorio vean el proyecto. --- ## "Project" personalización - Seleccionar una vista diferente (table, board) - Agregar/borrar items y carriles - Cambiar el nombre a los carriles - Mover las tareas entre los carriles conforme se vayan realizando --- ## Conclusión Por medio de los **Projects** en GitHub podemos planificar las tareas de realizaremos en nuestro proyecto, así como priorizar aquellas actividades que deben ser resueltas. _¡Un "project" en GitHub es una excelente forma de organizar y controlar todo el trabajo en nuestro repositorio!_ --- ---