16  Proyecto existente, GitHub primero

Este es un flujo de trabajo amigable para principiantes para incorporar un proyecto R existente al universo RStudio y Git/GitHub.

Hacemos esto de una manera un poco tonta, para evitar usar Git en la línea de comando. No querrás trabajar de esta manera para siempre, ¡pero está perfectamente bien cuando comiences! Al principio, el objetivo principal es acumular algo de experiencia e impulso. No hay nada ridículo en el repositorio de GitHub que esto crea, es completamente estándar. Haga la transición a un proceso más elegante cuando esté listo.

Asumimos que tiene su proyecto R existente aislado en un directorio de su computadora. Si eso aún no es cierto, hazlo así. Cree un directorio y reúna allí todos los datos y scripts R existentes. Realmente no importa dónde hagas esto, pero ten en cuenta dónde se encuentra actualmente el proyecto.

16.1 Haga un repositorio en GitHub

Vaya a https://github.com y asegúrese de haber iniciado sesión.

Cerca de “Repositorios”, haga clic en el gran botón verde “Nuevo”. O, si está en su propia página de perfil, haga clic en “Repositorios” y luego haga clic en el gran botón verde “Nuevo”.

Cómo completar esto:

  • Plantilla de repositorio: sin plantilla.
  • Nombre del repositorio: <<>>
  • Descripción: <<>>
  • Público.
  • <<>>

Haga clic en el gran botón verde que dice “Crear repositorio”.

Ahora haga clic en el gran botón verde que dice “<> Code”.

Copie una URL clonada a su portapapeles. Si sigue nuestro consejo predeterminado, copie la URL HTTPS. Pero si opta por SSH, asegúrese de copiar la URL de SSH.

Selecting an HTTPS vs SSH URL on GitHub

16.2 Nuevo proyecto RStudio a través de git clone

Clone a remote repo.

Les presento dos formas de hacer esto:

  • usethis::create_from_github()
  • A través del IDE de RStudio

(Recuerde que mostramos cómo hacer esto con la línea de comando Git en Capítulo 11.)

Cuando clonas tu propio repositorio de GitHub, los dos métodos son equivalentes. En otros escenarios, especialmente fork-and-clone ((secfork-and-clone?)), creo que usethis::create_from_github() es superior, porque realiza una configuración adicional recomendada.

Elija uno de estos métodos a continuación.

16.2.1 usethis::create_from_github()

Puede ejecutar este comando en cualquier sesión de R. Si usa RStudio, hágalo en la consola R de cualquier instancia de RStudio.

usethis::create_from_github(
  "https://github.com/YOU/YOUR_REPO.git",
  destdir = "~/path/to/where/you/want/the/local/repo/"
)

El primer argumento es repo_spec y acepta la especificación del repositorio de GitHub en varias formas. En particular, puedes usar la URL que acabamos de copiar de GitHub.

El argumento destdir especifica el directorio principal donde desea que resida la nueva carpeta (y el repositorio local de Git). Si no especifica destdir, use este valor predeterminado en algún lugar muy visible, como su escritorio. Si desea mantener los repositorios de Git en una determinada carpeta de su computadora, puede personalizar este valor predeterminado configurando la opción usethis.destdir en su .Rprofile.

Aceptamos el comportamiento predeterminado de otros dos argumentos, rstudio y open, porque eso es lo que la mayoría de la gente querrá. Por ejemplo, para un usuario de RStudio, create_from_github() hace esto:

  • Crea un nuevo directorio local en destdir, que contiene todas estas cosas:
    • un directorio o carpeta en su computadora
    • un repositorio Git, vinculado a un repositorio GitHub remoto
    • un proyecto RStudio
  • Abre una nueva instancia de RStudio en el nuevo Proyecto.
  • En ausencia de otras restricciones, sugiero que todos sus proyectos de R tengan exactamente esta configuración.

16.2.2 RStudio IDE

En RStudio, inicie un nuevo proyecto:

  • File > New Project > Version Control > Git. En la “URL del repositorio”, pegue la URL de su nuevo repositorio de GitHub. será algo como esto https://github.com/jennybc/myrepo.git.
  • Sea intencional acerca de dónde crea este proyecto.
  • Te sugiero “Abrir en nueva sesión”.
  • Haga clic en “Crear proyecto” para crear un nuevo directorio, que contendrá todas estas cosas:
    • un directorio o “carpeta” en su computadora
    • un repositorio Git, vinculado a un repositorio GitHub remoto
    • un proyecto RStudio
  • En ausencia de otras limitaciones, sugiero que todos sus proyectos de R tengan exactamente esta configuración.

Esto debería descargar el archivo README.md que creamos en GitHub en el paso anterior. Busque en el panel del explorador de archivos de RStudio el archivo README.md.

Detrás de escena, RStudio ha hecho esto por usted:

git clone https://github.com/jennybc/myrepo.git

16.3 Traiga su proyecto existente

Utilizando su método favorito para mover o copiar archivos, copie los archivos que constituyen su proyecto existente en el directorio de este nuevo proyecto.

En RStudio, consulte el panel de Git y el explorador de archivos.

  • ¿Estás viendo todos los archivos? Deberían estar aquí si su movimiento/copia fue exitoso.
  • ¿Aparecen en el panel de Git con signos de interrogación? Deberían aparecer como archivos nuevos sin seguimiento.

16.4 Verificar y confirmar

Confirme sus archivos en este repositorio. ¿Cómo?

  • Haga clic en la pestaña “Git” en el panel superior derecho
  • Marque la casilla “Staged” para todos los archivos que desee confirmar.
    • Predeterminado: verificado.
    • Cuándo reconsiderarlo: todo esto irá a GitHub. Considere si eso es apropiado para cada archivo. Puedes conservar absolutamente un archivo localmente, sin enviarlo al repositorio de Git y enviarlo a GitHub. Simplemente déjelo ahí en su panel de Git, sin que esté preparado. No se hará ningún daño. Si se trata de una situación a largo plazo, incluya el archivo en .gitignore.
  • Si aún no estás en la ventana emergente de Git, haz clic en “Commit”.
  • Escriba un mensaje en “Commit message”, como “Iniciar proyecto XYZ”.
  • Haga clic en “Commit”

16.5 Envía tus cambios locales a GitHub

Haga clic en el botón verde “Push” para enviar sus cambios locales a GitHub. RStudio mostrará algo como:

>>> /usr/bin/git push origin HEAD:refs/heads/main
To https://github.com/jennybc/myrepo.git
   3a2171f..6d58539  HEAD -> main

16.6 Confirmar el cambio local propagado al control remoto de GitHub

Vuelve al navegador. Supongo que todavía estamos viendo su nuevo repositorio de GitHub.

Actualice.

Deberías ver todos los archivos del proyecto que confirmaste allí.

Si hace clic en “commit”, debería ver uno con el mensaje que utilizó, p. “Iniciar proyecto XYZ”.

16.7 El fin

Ahora simplemente “haga espuma, enjuague, repita”. Trabaje en algún lugar: localmente o en GitHub. Confirme los cambios. Envielos o importelos, dependiendo de dónde haya realizado el trabajo, pero “sincronice” local y remoto. Repetir.

Tenga en cuenta que, en general (y especialmente en el futuro, cuando colabore con otros desarrolladores), normalmente necesitará importar cambios desde el control remoto (GitHub) antes de enviar los cambios locales que ha realizado. Por esta razón, es una buena idea intentar adquirir el hábito de importar antes de intentar enviar.