sudoquest / control-versiones.svc
Control de versiones

Git y GitHub

Git no es una lista de comandos que memorizar: es un modelo de tres zonas —tu directorio de trabajo, el índice y el repositorio— y un grafo de commits que apuntan a su padre. Entendido eso, cada comando es evidente; sin eso, todos parecen arbitrarios.

Estas 20 fichas se recorren sobre un simulador real dentro de la misma terminal de Linux del sitio: creas archivos con echo, los ves aparecer sin seguimiento en git status y decides si entran al commit. Incluye provocar un conflicto de fusión a propósito y resolverlo, que es algo que conviene haber visto una vez en un sitio donde no importe romper nada.

Fundamentos y primer commit

5 fichas
Nivel Esencial
git init
Crear el repositorio
git status
Leer las tres zonas
git add
Preparar lo que va a entrar
git commit
Guardar en el historial
Nivel Intermedio
git log
Leer el historial

Inspeccionar y deshacer

4 fichas
Nivel Intermedio
git diff
Ver exactamente qué cambió
git restore
Descartar y despreparar
Nivel Avanzado
git reset
Mover el puntero de la rama
git revert
Deshacer sin reescribir

Ramas y fusiones

4 fichas
Nivel Esencial
git branch
Crear una línea de trabajo
git switch
Moverse entre ramas
Nivel Intermedio
git merge
Traer el trabajo de vuelta
Nivel Avanzado
conflictos
Resolver un conflicto

Remotos y GitHub

4 fichas
Nivel Esencial
git remote
Declarar de dónde a dónde
git push
Publicar tus commits
Nivel Intermedio
git clone
Traerse un proyecto entero
git pull
Bajar lo que hicieron los demás

Flujo de trabajo real

3 fichas
Nivel Intermedio
.gitignore
No versionar lo que no toca
Nivel Avanzado
git stash
Soltar lo que estabas haciendo
git tag
Marcar una versión

GitHub: colaborar en equipo

Teoría · 4 niveles

Forks, pull requests, issues y CI. Esta parte no tiene simulador a propósito: no hay comandos que practicar, hay acuerdos de equipo que entender. Se aprueba con cuestionario, como el resto de la Academia.