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.”