# Agenda de hoy 1. Cerrar módulo de *Version Control System* (Git[Hub/Lab]) 2. Comenzar módulo de *repositorios de datos* # Retomando clase anterior ## GitHub Nos quedó pendiente - Repasar [RecetaGalletas](https://github.com/guscastilloa/RecetaGalletas) - Ejercicio en clase ([solo 9](https://github.com/guscastilloa/RecetaGalletas/graphs/contributors) contribuyeron) - Un corto quiz en vivo ## Repasemos Todas las imagenes a continuación fueron tomadas del increíble artículo [*Understanding Git through images*](https://dev.to/nopenoshishi/understanding-git-through-images-4an1) del usuario **kataoka_nopeNoshishi**. ![](img/git_nopenoshishi1.jpeg) --- ![](img/git_nopenoshishi2.jpeg) --- ![](img/git_nopenoshishi3.jpeg) --- ![](img/git_nopenoshishi4.jpeg) --- ![](img/git_nopenoshishi5.jpeg) --- ![](img/git_nopenoshishi6.jpeg) --- ![](img/git_nopenoshishi7.jpeg) ## GitHub/GitLab - *Quién* hizo *qué* y *cuándo* - **Git:** local - **Git[Hub/Lab]:** Servicio de almacenamiento en la nube para repositorios de Git - Colaborar en repositorios - Almacenar repos en internet (**no es para archivar**, clase de hoy) ## GitHub Demo ![](img/baticomputer_meme.jpg) ## Flujo de trabajo Flujo basado en el tronco o *Trunk-based development* - No hay ramas de larga duración - Commits y merges a menudo ![](img/Trunk-Based-Development.jpeg) ## Convenciones para *commits* ¿Cómo escribir el mensaje del *commit*? ¿Qué tener en cuenta? :::incremental - *Quién* hizo *qué* y *cuándo* - ¿pero y el *porqué*? - Principio: seremos leídos por otros (el yo-futuro) - **Ubicarnos:** Nos ayudan a resumir el trabajo pendiente (WIP de *Work-in-Progress*) - **Línea del tiempo:** Posibilitan trazar el progreso de un proyecto - **Colaboración:** Facilitarle a nuestros colaboradores cómo ponerse al día ::: --- ```{.sh} git commit -m ``` ::: .columns ::: {.column width="40%"} ![Desde GitHub Desktop](img/commit_msg_desktop.png) ::: ::: {.column width="60%"} ![Desde la terminal](img/commit_msg_cli.png) ::: ::: ## Recomendaciones - Escribir/documentar para otros humanos (el "yo" dentro de 1 mes) - Usar control de versiones para **código**, **documento**, y **datos** (a continuación) - Leer los manuales!! - Las computadoras son nuestra herramienta ## Usar GitHub como gestor de tareas Información requerida: ::: {style="font-size: 80%;"} **Tarea:** Salsa Robustness Check \ **Asignada a:** Michael Sinkinson \ **Asignado por:** Jesse Shapiro \ **Estatus:** Completada. \ **Descripción:** \ Run main specifications adding a control for per capita salsa consumption. Add a line to our robustness table reflecting the results. ::: ## Alternativas gratuitas - GitLab - [JIRA](https://www.atlassian.com/es/software/jira)[^3] - [Taiga.io](https://taiga.io/) - [Quire](https://quire.io/) - [OpenProject](https://www.openproject.org/) [^3]: Gratis hasta 10 personas --- Sugerencia de flujo de trabajo para tareas: ![](img/jira_workflow.png) # Repositorios de Datos ## ¿Qué es preservación de los datos? ![](img/from_renku.png) --- ![](img/fair_principles.png) ## Continúa en Clase 06 El resto de esta seccíon de Repositorios de Datos se continuó en las diapositivas de [Clase 06](https://guscastilloa.github.io/projects/teaching/Clase06/Clase06.html#/title-slide)