Capítulo 6 Ejercicios

6.1 Ejercicio FORK (sin usethis)

Gato tiene en su cuenta de GitHub un repositorio llamado mi_repo_genial y Perro ha visto este repositorio y quiere colaborar.

Proceso de colaboración:

  1. Perro debe ir a Gato/mi_repo_genial y presionar el botón de fork.

  2. Al hacer click en fork, Perro ha creado Perro/mi_repo_genial, el cual es una copia de Gato/mi_repo_genial.

  3. Si Perro quiere trabajar en los archivos en su computador debe llevar su copia que está en GitHub hacia su computador. Para esto puede usar git clone o “proyecto existente, GitHub primero” de la sección 16.

    3.1 Crear un nuevo proyecto de RStudio con control de versiones y Git y colocar como url: Perro/mi_repo_genial.git (este es el repo que esta en la cuenta de GitHub de Perro).

  4. Luego del proceso 3. Perro tiene los archivos de Gato/mi_repo_genial en su computador.

  5. Perro/mi_repo_genial es un repositorio remoto de Perro. Perro puede verificarlo al escribir git remote -v en el terminal.

  6. Es necesario que Perro declare como remoto upstream el repositorio de Gato. Para eso puede usar: git remote add upstream http://github.com/Gato/mi_repo_genial.git

  7. Para saber que todo está bien. Perro puede verificar que ahora tiene dos archivos remotos. Para esto puede usar: git remote -v en la terminal.

  8. Antes de empezar a modificar los archivos y agregar sus contribuciones Perro debe crear una nueva rama (recuerda que es recomendable no trabajar contribuciones desde la rama master). Perro puede escribir en la terminal git branch rama-perro.

  9. Ahora Perro puede modificar los archivos, hacer commit y push al remoto Perro/mi_repo_genial y hacer pull request para agregar los cambios a Gato/mi_repo_genial. Para esto puede usar su método favorito: desde la pestaña Git de Rstudio o desde la terminal usando: git push <remote> <branch>.

  10. Perro debe recordar que mañana cuando empiece a trabajar nuevamente en el repositorio, debe actualizar el remoto upstream haciendo pull. Para esto puede escribir en la terminal git pull upstream master --ff-only.