class: title-slide, center, middle background-image: url(https://images.unsplash.com/photo-1485254767195-60704c46702e?ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&ixlib=rb-1.2.1&auto=format&fit=crop&w=1051&q=80) background-size: cover # <span style=" font-weight: bold; color: white !important;border-radius: 4px; padding-right: 4px; padding-left: 4px; background-color: #1d3557 !important;font-size: 60px;" >Git, GitHub y Zenodo</span> <br> <h2><span style=" font-weight: bold; color: white !important;border-radius: 4px; padding-right: 4px; padding-left: 4px; background-color: #264653 !important;" >Miriam Lerma</span></h2> <h3><span style=" font-weight: bold; color: white !important;border-radius: 4px; padding-right: 4px; padding-left: 4px; background-color: #0A121F !important;" >Abril 2021</span></h3> --- class: inverse # Intro - [Git](#git) - [Github](#github) - [Zenodo](#zenodo) - [Git+Github](#git_github) ### Ustedes - Quieren usar sistema de control de versiones - Quieren subir su repositorio a github - Quieren saber como agregarle un doi a sus materiales ### Responder en el chat 💬 - Han escuchado que es un sistema de control de versiones? - Como mantienen controles de cambios en sus documentos? - Cuantos tienen cuenta de usuario en github? - Alguien ha usado zenodo? --- class: inverse ## Créditos & Recursos - Happy git: [
Happy Git by Jennifer Bryan](https://happygitwithr.com/)<br> - Tutoriales en español [
RLadiesChile](https://vimeo.com/rladieschile)<br> [
RLadiesBuenosAires](https://www.youtube.com/watch?v=33pZ9dtc-Co)<br> - Tutoriales en ingles [
RLadiesFreiburg](https://www.youtube.com/watch?v=tSse0KPgSoQ&t=1s) - Imagen de portada [Unsplash by Joel Filip](https://unsplash.com/@joelfilip) --- name: git class: center, middle, inverse # 1. Git --- ## 1.2. Porque usar Git <img src="https://upload.wikimedia.org/wikipedia/commons/thumb/e/e0/Git-logo.svg/200px-Git-logo.svg.png" height="50" style="display: block; margin: auto;" /> **Git** es un software de **control de versiones** (VCS-Version control system). - Usar **control de versiones** te permite modificar tu codigo teniendo un respaldo en una red segura. - Esto te permite tender un historial de los cambios que has hecho en tu **repositorio** y poder volver a archivos antiguos. --- ## 1.2. Repositorio Un **repositorio** es un lugar donde se almacenan los datos actualizados. En un repositorio puede tener seguimiento de todos los cambios hechos a tu proyecto atraves del tiempo Generalmente se guarda como **.git/** dentro de tu proyecto. Lo que significa que si borras este **.git/** borras todo el historial de tu proyecto. Tu repositorio puede estar solamente de manera local. --- ## 1.3. Repositorio Existe la posibilidad de que ya tengan **Git** instalado (aunque es probablemente que deban actualizarlo) Para revisar si ya lo tienen tienen que ir a la [**shell**](https://happygitwithr.com/shell.html#shell) y escribir ```r which git git --version ``` Hay que instalarlo si les aparece ```r git: command not found ``` <img src="https://raw.githubusercontent.com/MiriamLL/Curso_CIAD/main/Figuras/Git10.png" height="200" style="display: block; margin: auto;" /> --- ## 1.3. Instalación - Git fue desarrollado para programadores, no para investigadores por lo que puede ser poco intuitivo - Una **desventaja** es que instalación varía mucho entre computadoras - La **ventaja** es que solo se debe instalar una vez --- - Para descargar:<br> Pagina [git](https://git-scm.com/) - Para instalar git:<br> [Windows](https://happygitwithr.com/install-git.html#install-git-windows)<br> [macOS](https://happygitwithr.com/install-git.html#macos)<br> [Linux](https://happygitwithr.com/install-git.html#linux) --- ## 1.4. Ejercicios 1 Revisar ✏️ - Abrir Tool>Shell - Escribir ```r which git git --version ``` 2 Responder en el chat 💬 - Quien ya tiene instalado git? - Que version tienen instalada? --- name: github class: center, middle, inverse # 2. Github --- ## 2.1. Porque usar Github - Te permite tener un respaldo de tu proyecto - Te permite colaborar con diferentes personas - Facilita el trabajo remoto --- ## 2.1. Que es GitHub <img src="https://avatars.githubusercontent.com/u/583231?v=4" height="200" style="display: block; margin: auto;" /> [Github](https://github.com/): es una plataforma para alojar proyectos utilizando el sistema de control de versiones. <br> **Nota** En 2018 Microsoft compro la plataforma github, por lo que muchas personas dejaron de utilizarla. Hay muchas otras opciones para alojar repositorios.<br> Por ejemplo: [gitlab](https://about.gitlab.com/) <img src="https://raw.githubusercontent.com/MiriamLL/Curso_CIAD/main/Figuras/gitlab.png" height="80" style="display: block; margin: auto;" /> Ver Comparación [Github o Gitlab](https://rachelcarmena.github.io/2018/12/12/how-to-teach-git.html) --- ## 2.2. Registrarse Para usar github hay que ingresar a la página [Github](https://github.com/) <br> <img src="https://raw.githubusercontent.com/MiriamLL/Curso_CIAD/main/Figuras/Github1.png" height="400" /> --- ## 2.3. Usuario Para usar github hay que registrarse <br> <img src="https://raw.githubusercontent.com/MiriamLL/Curso_CIAD/main/Figuras/Github2.png" height="300" style="display: block; margin: auto;" /> **Recomendaciones** - Usa tu nombre de las publicaciones, sera más fácil que las personas encuentren o confíen en tu repositorio. - Elije un nombre con el que te sientas cómodo de trabajar en el futuro - Nombres cortos son mejores que nombres largos - Se recomienda que utilices todas las letras en minúsculas y para separar usa _ o - [Más recomendaciones](https://happygitwithr.com/github-acct.html) --- ## 2.4. Repositorio Hay varias maneras de crear un repositorio, una de ellas usar el símbolo de **+** junto a nuestra foto. <img src="https://raw.githubusercontent.com/MiriamLL/Curso_CIAD/main/Figuras/Github3.png" height="400" style="display: block; margin: auto;" /> --- ## 2.5. Repositorio Hay que darle un nombre de nuestro repositorio, una descripción, si es público o privado y otras opciones. Por ahora podemos usar **Prueba** como nombre del repositorio y **Publico** <img src="https://raw.githubusercontent.com/MiriamLL/Curso_CIAD/main/Figuras/Github4.png" height="400" style="display: block; margin: auto;" /> --- ## 2.6. Repositorio - Les va a aparecer una serie de instrucciones, que por el momento puede que no les sean útiles. Las dejaremos para más tarde. - Por ahora pueden subir materiales de manera manual usando **uploading an existing file** <img src="https://raw.githubusercontent.com/MiriamLL/Curso_CIAD/main/Figuras/Github6.png" height="100" style="display: block; margin: auto;" /> --- ## 2.7. Repositorio Ya pueden subir archivos desde su computadora. Hay que llenar los espacios de **commit changes**. Por ahora podrían poner algo como **Prueba de repositorio** y **Agregue mi primer archivo Rmd**. <img src="https://raw.githubusercontent.com/MiriamLL/Curso_CIAD/main/Figuras/Github7.png" height="400" style="display: block; margin: auto;" /> **Listo** ya creaste tu primer repositorio! --- ## 2.8. Ejercicios Github ✏️ - Inscribirse a github - Crear primer repositorio Preguntas 💬 - Quien ya tiene usuario de github? - Quien ya tiene su primer repositorio? --- name: zenodo class: center, middle, inverse # 3. Zenodo --- ## 3. Zenodo Muchas revistas solicitan incluir datos o código en las publicaciones. Por ejemplo: - [**Frontiers**](https://www.frontiersin.org/about/policies-and-publication-ethics) requiere que los autores tengan disponibles todos los datos relevantes para las conclusiones del manuscrito. <br> Todos los datos deben estar públicamente disponibles y ser citados de acuerdo a sus reglamentos. - [**PLOS ONE**](https://journals.plos.org/plosone/s/submission-guidelines#loc-data-reporting) requiere que los autores agreguen una sección que redirija al repositorio publico donde están accesibles los datos, o que los datos sean parte del articulo. <br> **Recomendación** No incluyan los datos en la publicación (por motivos de licencia), es mejor tenerlos en un repositorio. --- ## 3.1. Zenodo <img src="https://upload.wikimedia.org/wikipedia/commons/0/0f/Zenodo_logo.jpg" height="50" style="display: block; margin: auto;" /> [Zenodo](https://zenodo.org/) es un repositorio de acceso abierto operado por CERN (Organización Europea para la Investigación Nuclear). Permite que se depositen allí artículos de investigación, datos, software, informes y otro tipo de objeto digital relacionado con la investigación. La ventaja frente a github es que asigna un **DOI**. -- <img src="https://raw.githubusercontent.com/MiriamLL/Curso_CIAD/main/Figuras/001doi.svg" height="50" style="display: block; margin: auto;" /> Un DOI es un identificador de objeto digital y es un enlace permanente en forma de código alfanumérico que identifica de forma única el contenido electrónico. Por lo que te permite **proteger el contenido intelectual** -- <img src="https://upload.wikimedia.org/wikipedia/commons/thumb/d/df/DryadLogo2019.png/220px-DryadLogo2019.png" height="100" style="display: block; margin: auto;" /> Zenodo recienmente se asocio con [Dryad](https://datadryad.org/stash/) (otro repositorio que asigna DOI) --- ## 3.2. Ingresar Para usar zenodo, hay que ingresar a la pagina [Zenodo](https://zenodo.org/) <img src="https://raw.githubusercontent.com/MiriamLL/Curso_CIAD/main/Figuras/zenodo1.png" height="400" style="display: block; margin: auto;" /> --- ## 3.3. Registrarse Esta plataforma es gratuita. Para registrarse, si tienen github es bastante sencillo, solo hace falta ingresar su cuenta. <img src="https://raw.githubusercontent.com/MiriamLL/Curso_CIAD/main/Figuras/zenodo2.png" height="400" style="display: block; margin: auto;" /> --- ## 3.4. En Zenodo Para asignar un **DOI** a su repositorio. - Darle click a tu nombre - En la parte de settings elegir GitHub - Los repositorios de github aparecen con un **switch** para elegir el repositorio que nos interesa. Mover de **off** a **on** para elegir el repositorio de interés. <img src="https://raw.githubusercontent.com/MiriamLL/Curso_CIAD/main/Figuras/zenodo3.png" height="300" style="display: block; margin: auto;" /> --- ## 3.5. En Github Para asignar un **DOI** a su repositorio. - Abrir el repositorio - Elegir el engrane donde dice settings - Elegir new release <img src="https://raw.githubusercontent.com/MiriamLL/Curso_CIAD/main/Figuras/zenodo6.png" height="300" style="display: block; margin: auto;" /> [semantic versioning](https://semver.org/) --- ## 3.6. En Zenodo Al volver a zenodo. Ahora aparecera un identificador DOI: [![DOI](https://zenodo.org/badge/354821022.svg)](https://zenodo.org/badge/latestdoi/354821022) <img src="https://raw.githubusercontent.com/MiriamLL/Curso_CIAD/main/Figuras/zenodo5.png" height="200" style="display: block; margin: auto;" /> --- **Para citarlo** Lerma, M (2021). Paquete sula (Version v1.0). Zenodo. https://doi.org/10.5281/zenodo.4682898 **Para agregarlo al articulo** Data accesibility: Dataset to reproduce the analyses and scripts are freely available at zenodo (https://doi.org/10.5281/zenodo.4682898). --- class: inverse, center, middle # 3. Ejercicios <h1>
</h1> --- ## 3.1. Ejercicios En equipo 💃🏽👯 - Escribir código en Rmd para analizar datos de pingüinos. - Subir Rmd a github **Instrucciones** a incluir en el Rmd: - Como cargar datos de pingüinos y filtrar con solo datos de Adelia - Como crear un modelo lineal con masa corporal y longitud de la aleta - Agregar tabla con resultados del modelo - Agregar gráfica de masa corporal por longitud de la aleta <br> **Nota** Piensen en alguien que no conocen replicando su análisis --- name: git_github class: center, middle, inverse # 4. Git+Github --- ## 4.1. Git - Instalar git - [Introduce yourself to git](https://happygitwithr.com/hello-git.html) ```r git config --global user.name 'Mi nombre' git config --global user.email 'micorreo@ejemplo.com' git config --global --list ``` - Copiar code en github - File>NewFile>VersionControl - Pull - Cambiar Readme - Commit - Push --- ## 4.2. Nuevo proyecto Abrir nuevo proyecto <img src="https://raw.githubusercontent.com/MiriamLL/Curso_CIAD/main/Figuras/Git01.png" height="400" style="display: block; margin: auto;" /> --- ## 4.2. Version control Elegir version control <img src="https://raw.githubusercontent.com/MiriamLL/Curso_CIAD/main/Figuras/Git02.png" height="400" style="display: block; margin: auto;" /> --- ## 4.3. Clonar Copiar enlace de github <img src="https://raw.githubusercontent.com/MiriamLL/Curso_CIAD/main/Figuras/Git03.png" height="400" style="display: block; margin: auto;" /> --- ## 4.4. Repositorio Pegar el enlace en RStudio <img src="https://raw.githubusercontent.com/MiriamLL/Curso_CIAD/main/Figuras/Git04.png" height="400" style="display: block; margin: auto;" /> --- ## 4.5. Pestaña Para confirmar que todo funciono, deben aparecer nuevas pestañas dentro de su RStudio <img src="https://raw.githubusercontent.com/MiriamLL/Curso_CIAD/main/Figuras/Git05.png" height="300" style="display: block; margin: auto;" /> --- ## 4.6. Pull Podemos jalar todo lo de github usando **pull** <img src="https://raw.githubusercontent.com/MiriamLL/Curso_CIAD/main/Figuras/Git07-pestania.png" height="200" style="display: block; margin: auto;" /> Nos confirma si tenemos todo en nuestro computadora <img src="https://raw.githubusercontent.com/MiriamLL/Curso_CIAD/main/Figuras/Git06-pull.png" height="200" style="display: block; margin: auto;" /> --- ## 4.7. Stage y Commit Hacer algunos cambios. Al hacer commit hay que ponerle un mensaje de los cambios más importantes que hicimos. Esto nos servirá en el futuro si tenemos que regresar a un punto importante. <img src="https://raw.githubusercontent.com/MiriamLL/Curso_CIAD/main/Figuras/Git08-commit.png" height="400" style="display: block; margin: auto;" /> --- ## 4.8. Push Los cambios están locales, para que se refleje en github hay que empujarlo (**push**) <img src="https://raw.githubusercontent.com/MiriamLL/Curso_CIAD/main/Figuras/Git09-push.png" height="300" style="display: block; margin: auto;" /> --- # 5. Control de versiones Les recomiendo aprender más de como manejar repositorios. [Enlace](https://levelup.gitconnected.com/understanding-git-a-beginners-guide-containing-cheat-sheets-resources-b50c9c01a107) <img src="https://miro.medium.com/max/700/0*68fyM5AI85U_I3vo.jpg" height="300" style="display: block; margin: auto;" /> Más recursos sobre control de versiones: - [Que es control de versiones](https://www.atlassian.com/git/tutorials/what-is-version-control) - [Rladies BuenosAires](https://github.com/rladies/meetup-presentations_buenosaires/blob/master/2019-09-14-Git_Rstudio/git_rstudio.pdf) - [Entender control de versiones](https://rachelcarmena.github.io/2018/12/12/how-to-teach-git.html) --- class: left, inverse # Contacto Recapitulando - [Git](#git) - [Github](#github) - [Zenodo](#zenodo) - [Git+Github](#git_github) <br> <br> Para dudas, comentarios y sugerencias: - Escríbeme a miriamjlerma@gmail.com <br> <br> .right[Este material esta accesible y se encuentra en <br> mi [
github](https://github.com/MiriamLL/Curso_CIAD/) y mi [
página](https://www.miriam-lerma.com) .center[ <h3>
[Volver ](https://www.miriam-lerma.com/teaching.html) ]]