Computadoras y Programación · ENES Juriquilla · UNAM
Extra · Computadoras y Programación

Git y GitHub:
tu cuaderno de laboratorio
con memoria.

La herramienta que conviene conocer antes de escribir la primera línea de código — y la que vas a usar para entregar tus trabajos.
Por
Walter Rosales
Te suena
tarea_final.docx
tarea_final_v2.docx
tarea_final_v2_FINAL.docx
tarea_final_v2_FINAL_ahora_si.docx
tarea_final_v2_FINAL_ahora_si_NO_BORRAR.docx
Todos hemos tenido una carpeta así. Ninguno sabe cuál es la buena.
Lo cambiaste para mejorarlo.
Ahora nada funciona.
Y la versión que sí corría… ¿era la v2, la FINAL o la ahora_si?
Una pregunta vieja
El barco de Teseo, según Plutarco.

Si cambias todas las tablas, ¿sigue siendo el mismo barco?

Tu tarea también cambia cada noche, línea por línea. ¿Qué es lo que la hace seguir siendo la misma?
Control de versiones

Un cuaderno de laboratorio con memoria.

Como en el laboratorio
Cada avance se anota con fecha y autor. Ninguna hoja se arranca.
Con memoria
Git recuerda cada versión de cada archivo. Nada se pierde por guardar encima.
Máquina del tiempo
¿Se rompió? Regresas al último punto en que todo funcionaba.
Git · vive en tu computadora
El cuaderno
Un programa que lleva la historia de tus archivos.
GitHub · vive en la nube
La biblioteca
Un sitio web donde guardas esa historia y la compartes.
Página de inicio de github.com
Captura real · github.com
Vocabulario mínimo

Siete palabras, y ya hablas Git.

repositorio
La carpeta de tu proyecto, con toda su historia.
commit
Una foto del proyecto con fecha, autor y un mensaje.
branch
Una línea de trabajo paralela. Hoy solo la mencionamos.
remote
La copia que vive en GitHub.
clone
Traer una copia del repositorio a tu computadora.
push
Subir tus commits al remote.
pull
Bajar lo que cambió en el remote.
Con esto alcanza para empezar.
Un repositorio real
Página del repositorio público octocat/Hello-World en GitHub
1
2
3
4
Captura real · github.com/octocat/Hello-World (repositorio público)
1La rama donde estás
2El botón Code: de aquí se clona
3El último commit
4Los archivos del proyecto
El historial
Historial de commits del repositorio octocat/Hello-World
Captura real · github.com/octocat/Hello-World/commits
Cada fila es una página del cuaderno.
Qué se hizoel mensaje del commit
Quién y cuándoautor y fecha
Su huellaun código único, como 7fd1a60
El ciclo de trabajo

Cinco pasos. Siempre los mismos.

Clonar
git clone
Editar
tu editor
Preparar
git add
Guardar
git commit
Subir
git push
Es un diagrama de flujo: un inicio, procesos y una salida.
Ya conoces este patrón
Editar, guardar, subir… y otra vez.

Es un MIENTRAS.

repite
MIENTRAS haya cambios por guardar HACER
  editar los archivos
  git add
  git commit -m "Un mensaje claro"
  git push
FIN-MIENTRAS
Mensajes de commit

Tu yo del futuro te lo va a agradecer.

Así no
asdf
arreglo
final v2
Así sí
Agrega el ejercicio 3: ciclo MIENTRAS
Corrige la suma de la tarea 2
Agrega README con instrucciones para correr el programa
Una línea que diga qué cambió y por qué.
Vía 1 · sin terminal
1
Crea tu cuenta en github.comElige un usuario que no te dé pena en una entrevista.
2
Crea un repositorioBotón + y luego New repository.
3
Add file → Upload filesArrastra tus archivos desde el explorador.
4
Commit changesEscribe un buen mensaje. Listo.
Menú Add file y Upload files en un repositorio de GitHub
Captura: GitHub Docs · Adding a file to a repository
Desde el navegador: hasta 25 MiB por archivo y 100 archivos a la vez.
Vía 2 · con terminal · adelanto del módulo de terminal

Los mismos pasos, escritos.

git init
Convierte la carpeta en un repositorio
git add .
Prepara los cambios
git commit -m "Agrega tarea 1"
Guarda la foto con su mensaje
git branch -M main
Nombra main a tu rama principal
git remote add origin <URL>
Conecta con tu repositorio en GitHub
git push -u origin main
Sube tus commits
No hace falta memorizarlos hoy: los vamos a practicar cuando lleguemos a la terminal.
Antes de hacer push

Lo que nunca se sube.

Contraseñas
Tokens y API keys
Llaves privadas
Archivos .env
Datos personales, tuyos o de otros
Tu archivo .gitignore
.env
*.key
__pycache__/
node_modules/
Si ya lo subiste, ya no es secreto: cámbialo hoy.
Reto

Tu primer repositorio.

1
Crea tu cuenta en github.com
2
New repositoryNómbralo mi-primer-repo y marca Add a README file.
3
Edita el READMECuenta quién eres y qué esperas aprender. Haz commit con un buen mensaje.
4
Abre el historialEncuentra tu commit: es tu primera hoja del cuaderno.
El mensaje de hoy

Tu trabajo ya no vive en un archivo.
Vive en una historia.

El barco de Teseo cambia tabla por tabla y sigue siendo el mismo porque alguien llevó la cuenta. Git lleva la cuenta.
Gracias
Walter Rosales
CEO & Co-Founder iGalenus
walter.rosales@igalenus.com
@walterr_rosales
https://walter-rosales.com