Sigla en azul →glosario(primera vez: expansión entre paréntesis).
M01 — Método, Git, Linux y documentación
Por qué existe
Sin método, 20 h/semana se diluyen en tutoriales. Esta materia instala el sistema de trabajo de todo el plan: terminal, Git limpio y bitácora.
En resumen: configuras tu entorno, practicas shell y Git en este repo, escribes un ADR corto y dejas bitácora. No es un curso de Git de 8 horas: es hábito.
Objetivos de aprendizaje
Al terminar debes poder:
- Organizar una semana de estudio (teoría / práctica / proyecto).
- Usar la terminal con soltura (navegación, pipes, permisos, grep).
- Hacer commits atómicos, ramas y PRs claros.
- Documentar decisiones (ADR) y leer documentación oficial.
Cómo estudiar esta materia (lecciones)
M01 usa el formato de lecciones tipo freeCodeCamp: lecciones cortas y completas que marcas una a una.
- Abre las lecciones en orden (L01 → L08).
- Cada lección trae objetivo, pasos, lectura de libro y criterio “Hecho cuando”.
- Marca la lección en la UI solo si cumple ese criterio.
- Las prácticas / proyecto de abajo siguen exigiendo evidencia en
projects/. - Método general: Cómo estudiar.
Semana tipo (20 h)
| Bloque | Horas | Qué haces |
|---|---|---|
| Método + shell | 6–8 | L01–L04, docs, bitácora |
| Git en este repo | 6–8 | L05–L07, commits atómicos, ramas |
| Proyecto diario | 4–6 | projects/m01-diario/ + ADR (L08) |
| Retro | 1 | Qué bloqueó / qué sigue |
Si un día solo tienes 2 h: una lección práctica (pasos + evidencia). No saltes la fila de lectura de esa lección.
Lecciones
Semana 1 — Método + Linux (~20 h)
| ID | Lección | ~h |
|---|---|---|
| L01 | Entorno y primer commit | 2.5 |
| L02 | Método y práctica deliberada | 2 |
| L03 | Shell: navegación y archivos | 3 |
| L04 | Shell: pipes, permisos y docs | 3 |
Semana 2 — Git + escritura técnica (~20 h)
| ID | Lección | ~h |
|---|---|---|
| L05 | Git fundamentos | 3 |
| L06 | Commits atómicos y mensajes | 2.5 |
| L07 | Ramas, merge y stash | 3 |
| L08 | ADR, bitácora y cierre | 3 |
Empieza por L01 hoy.
Lecturas (mapa rápido)
Canon: Pro Git (Chacon & Straub). Catálogo: bibliografía.
| Semana | Lecciones | Capítulos / foco |
|---|---|---|
| 1 | L01–L04 | Cap. 1 + man/--help + Cómo estudiar |
| 2 | L05–L08 | Caps. 2–3 (fundamentos y ramas) — ejemplos en este repo |
Regla: no leas más allá del cap. 3 en M01. Servidor remoto (cap. 4) llega cuando uses GitHub con remoto.
Prácticas
- P1: Entorno listo: Node LTS, Git, editor, carpeta
~/dev. Lista de versiones enprojects/m01-diario/entorno.md. - P2: 7 días de commits atómicos en este repo (o diario). Nada de “update stuff”.
- P3: Un ADR: “Por qué TypeScript como lenguaje principal del plan”.
Proyecto útil
Diario de ingeniería: usa este mismo repositorio. Cada semana:
- Actualiza
progress.json. - Añade nota en
projects/m01-diario/semana-NNNN.md(qué estudiaste, qué bloqueó, qué sigue).
Errores comunes
- Instalar 15 herramientas en L01 y no hacer ningún commit.
- Usar solo la GUI de GitHub Desktop sin entender
status/diff. - Commits gigantes (“todo el portafolio”) que no se pueden revisar.
- Marcar lecciones sin cumplir “Hecho cuando”.
Evidencia de hecho
Marca la práctica en la UI solo si existe esto (o equivalente claro):
- P1 — Entorno:
projects/m01-diario/entorno.mdcon SO, Git, Node; commitdocs(m01): registrar entorno. - P2 — Commits: ≥7 commits atómicos en 7 días (mensajes qué/porqué);
git log --onelinepegado en la bitácora. - P3 — ADR:
projects/m01-diario/adr-001-*.mdcon contexto / decisión / consecuencias. - Proyecto — Diario: Al menos 2 notas
semana-NNNN.md+progress.jsonactualizado.
Criterios de dominio
- Explicas branching sin mirar Stack Overflow.
- Resuelves un conflicto de merge simple.
- Tu bitácora de la semana 2 existe y es honesta.
- No dependes de la GUI de Git para lo básico.