FUNDAMENTOS Y PRIMER CONTACTO CON GIT Y GITHUB

1.1. ¿Qué es Git?

Git NO es GitHub

Git es una herramienta instalada en tu computador que sirve para:

  • Guardar versiones de tus archivos
  • Registrar la historia completa de tu proyecto
  • Permitir que varias personas trabajen sin pisarse

¿Por qué existe Git?

Imagina que tienes un archivo llamado:

analisis_final_v1.R
analisis_final_v2.R
analisis_final_definitivo.R
analisis_final_ahora_sí.R
analisis_final_versión_final.R

Esto es caos académico.

Git fue creado para que cada cambio quede ordenado sin duplicar archivos. Guarda los cambios como “fotografías del proyecto en el tiempo”.

Estas fotos se llaman commits.


1.1.1. ¿Qué es un commit?

Un commit es:

  • un conjunto de cambios,
  • con fecha,
  • con autor,
  • con un mensaje (“qué hice”),
  • y con los archivos modificados.

Es decir:

Un commit es una entrada en el diario de tu proyecto.

Ejemplo de mensaje real:

Commit: Agrego cálculo de centralidad y grafo inicial

1.1.2. Los 3 estados del archivo en Git

Git siempre tiene cada archivo en uno de estos estados:

Estado Significado Analogía
modified Cambiaste algo Borrador
staged Marcaste qué cambios quieres guardar Seleccionaste páginas para imprimir
committed Git guardó el cambio en el historial Libro ya impreso

Git nunca guarda nada sin que tú lo indiques.

Esto es lo que hace Git tan poderoso: control absoluto.


1.2. ¿Qué es GitHub?

GitHub NO es Git. GitHub es una página web donde puedes guardar repositorios Git.

Git vive en tu máquina. GitHub vive en Internet.

¿Por qué necesitamos GitHub?

Porque te permite:

🔹 1. Guardar tu proyecto en la nube

Si tu computador muere, tu proyecto sigue vivo.

🔹 2. Trabajar en equipo

Tus compañeros pueden ver tu código, comentar, proponer cambios.

🔹 3. Publicar sitios web con Quarto

Profesionales, bonitos, reproducibles.

🔹 4. Mostrar tu portafolio

GitHub es la hoja de vida de un científico de datos o programador.


1.3. Crear un repositorio en GitHub (paso A-B-C)

Tus estudiantes deben seguir ESTE flujo exacto:


A) Entrar a GitHub

https://github.com → iniciar sesión.


B) Crear un nuevo repositorio

Clic en New → Repository.

Configurar así:

  • Repository name: mi-red-car
  • Description: “Mi análisis de redes (curso de estadística)”
  • Visibility: Public
  • Activar: Add a README
  • Activar: Add .gitignore → R

¿Por qué .gitignore?

Porque evita subir:

  • archivos temporales de RStudio
  • cachés
  • archivos pesados que NO deberían ir al repositorio

C) Crear el repositorio

Al hacer clic en Create, GitHub crea esto:

mi-red-car/
└── README.md
└── .gitignore

Este es tu proyecto vacío, listo para trabajar.


1.4. Clonar el repositorio desde RStudio (paso a paso)

Esto es lo que liga GitHub → tu computador.


🔹 1. En GitHub → copiar la URL del repo

Botón verde Code → copiar la URL HTTPS:

https://github.com/DannaCruz/mi-red-car

2. En RStudio

File → New Project → Version Control → Git

Pegar la URL.

RStudio automáticamente:

  • descarga el repositorio
  • crea una carpeta local
  • crea el archivo .Rproj
  • configura Git en ese proyecto

3. Resultado final

En tu computador aparece:

mi-red-car/
├── .git/             # carpeta oculta donde vive Git
├── README.md
├── .gitignore
└── mi-red-car.Rproj

Desde aquí ya puedes trabajar con:

  • Git panel en RStudio
  • commit
  • push
  • pull

1.5. Estructura de proyecto recomendada (muy importante)

Para proyectos de análisis reproducibles, úsese SIEMPRE:

mi-red-car/
├── data/       # datos originales (NO se modifican)
├── scripts/    # código de análisis en R
├── docs/       # reportes, sitio web, qmd
├── figs/       # figuras exportadas
├── README.md   # explicación del proyecto
└── mi-red-car.Rproj

📌 ¿Por qué así?

data/ → sirve para guardar tu red de cafés, tu red vial, etc.

scripts/ → dónde escribes centralidad, comunidades, etc.

docs/ → dónde vives tus informes y sitio web Quarto.

figs/ → todas las imágenes generadas.

README.md → la portada de tu proyecto.

Con esto aprende que:

“Un buen científico organiza sus análisis.”