Resumen y agenda
Para ilustrar el poder de Git y GitHub, usaremos la siguiente historia como un ejemplo motivador a través de esta lección.
El Hombre Lobo y Drácula han sido contratados por Universal Missions para investigar si es posible enviar su próximo explorador planetario a Marte. Ellos quieren poder trabajar al mismo tiempo en los planes, pero ya han experimentado ciertos problemas anteriormente al hacer algo similar. Si se rotan por turnos entonces cada uno gastará mucho tiempo esperando a que el otro termine, pero si trabajan en sus propias copias e intercambian los cambios por email, las cosas se perderán, se sobreescribirán o se duplicarán.
Un colega sugiere utilizar control de versiones para lidiar con el trabajo. El control de versiones es mejor que el intercambio de ficheros por email:
Nada se pierde una vez que se incluye bajo control de versiones, a no ser que se haga un esfuerzo sustancial. Como se van guardando todas las versiones precedentes de los ficheros, siempre es posible volver atrás en el tiempo y ver exactamente quién escribió qué en un día en particular, o qué versión de un programa fue utilizada para generar un conjunto de resultados en particular.
Como se tienen estos registros de quién hizo qué y en qué momento, es posible saber a quién preguntar si se tiene una pregunta en un momento posterior y, si es necesario, revertir el contenido a una versión anterior, de forma similar a como funciona el comando “deshacer” de los editores de texto.
Cuando varias personas colaboran en el mismo proyecto, es posible pasar por alto o sobreescribir de manera accidental los cambios hechos por otra persona. El sistema de control de versiones notifica automáticamente a los usuarios cada vez que hay un conflicto entre el trabajo de una persona y la otra.
Los equipos no son los únicos que se benefician del control de versiones: los investigadores independientes se pueden beneficiar en gran medida. Mantener un registro de qué ha cambiado, cuándo y por qué es extremadamente útil para todos los investigadores si alguna vez necesitan retomar el proyecto en un momento posterior (e.g. un año después, cuando se ha desvanecido el recuerdo de los detalles).
Pre-requisitos
En esta lección utilizamos Git desde el terminal de Unix. Se espera de los participantes alguna experiencia previa, pero esto no es requisito indispensable.
Configuración | Descargar los archivos necesarios para la lección | |
Duration: 00h 00m | 1. Control Automatizado de Versiones | ¿Qué es el control de versiones y por qué se deberá usar? |
Duration: 00h 05m | 2. Configurando Git | ¿Cómo me preparo para utilizar Git? |
Duration: 00h 10m | 3. Creando un repositorio | ¿Dónde almacena Git la información? |
Duration: 00h 20m | 4. Rastreando Cambios |
¿Cómo registro cambios en Git? ¿Cómo reviso el estatus de mi repositorio de control de versiones? ¿Cómo registro notas acerca de los cambios que he hecho y por qué? |
Duration: 00h 40m | 5. Explorando el “History” |
¿Cómo puedo identificar versiones anteriores de archivos? ¿Cómo puedo revisar mis cambios? ¿Cómo puedo recuperar versiones anteriores de archivos? |
Duration: 01h 05m | 6. Ignorando cosas | ¿Cómo puedo indicarle a Git que ignore los archivos que no quiero rastrear? |
Duration: 01h 10m | 7. Repositorios remotos en GitHub | ¿Cómo puedo compartir los cambios con otros en la web? |
Duration: 01h 40m | 8. Trabajos en colaboración | ¿Cómo puedo usar el control de versiones para colaborar con otras personas? |
Duration: 01h 45m | 9. Conflictos | ¿Qué hago cuando mis cambios entran en conflicto con los de otra persona? |
Duration: 02h 00m | 10. La ciencia abierta | ¿Cómo un control de versiones me puede ayudar a tener mi trabajo más abierto? |
Duration: 02h 10m | 11. Licencia | ¿Qué información sobre licencias debería incluir en mi trabajo? |
Duration: 02h 15m | 12. Ejemplo de Referencia o cita | ¿Cómo puedo hacer que mi trabajo sea más fácil de citar? |
Duration: 02h 17m | 13. Hospedaje | ¿Dónde debería alojar mis repositorios de control de versiones? |
Duration: 02h 27m | 14. Usando Git desde RStudio | ¿Cómo puedo usar Git desde RStudio? |
Duration: 02h 37m | Final |
El horario real puede variar ligeramente dependiendo de los temas y ejercicios elegidos por la instructora.
Instalación de Git
Por favor consulte esta sección de la plantilla de los talleres para conocer más instrucciones de instalación de Git.
Crear una cuenta de GitHub
Necesitarás una cuenta de GitHub para seguir esta lección.
- Ve a https://github.com y sigue el enlace “Regístrate” en la parte superior derecha de la ventana.
- Sigue las instrucciones para crear una cuenta.
- Verifica tu dirección de correo electrónico con GitHub.
- Configura la autenticación multifactor (ver más abajo).
Autenticación multifactor
En 2023, GitHub introdujo el requisito de que todas las cuentas tuvieran configurada la autenticación multifactor (2FA) para mayor seguridad. Existen varias opciones para configurar 2FA, que se resumen aquí:
- Si ya utilizas una aplicación de autenticación, como Google Authenticator o Duo Mobile en tu smartphone, por ejemplo, añade GitHub a esa aplicación.
- Si tienes acceso a un smartphone pero aún no utilizas una aplicación de autenticación, instala una y añade GitHub a la aplicación.
- Si no tienes acceso a un smartphone o no quieres instalar una aplicación de autenticación, tienes dos opciones:
La documentación de GitHub proporciona más detalles sobre la configuración de 2FA.
Preparar el directorio de trabajo
Haremos nuestro trabajo en la carpeta Desktop
. Por favor
asegúrese de cambiar su directorio de trabajo con: