estado: BORRADOR v2 fuentes: - bloque02/CONTEXTO_UNIDAD.md - bloque02/material/bloque02_manual_estudiante.md - bloque02/material/bloque02_actividades.md - bloque02/laboratorios/bloque02_lab01_git_colaborativo.md - bloque02/laboratorios/bloque02_lab02_arquitectura.md - bloque02/laboratorios/bloque02_lab03_patrones_diseno.md - bloque02/referencias/bloque02_materiales_referencias.md - bloque01/material/bloque01_presentacion.md (continuidad de estilo y de ReservaFIC) propósito: Presentación de apoyo docente y estudiante del Bloque II criterios: - lenguaje humano y directo - sin punto final ni comas en el cuerpo de las diapositivas - no introducir contenidos técnicos propios de Bloques III a V - el proyecto del estudiante es el centro del bloque - ReservaFIC es únicamente un ejemplo ilustrativo continuado desde el Bloque I - Git se explica desde cero antes de llegar a ramas (solicitud explícita del usuario 2026-09-13) - Design Patterns de Gamma et al (REF-B2-01) es la fuente principal para patrones - Clean Architecture (REF-B2-03) aporta la regla de dependencia para arquitectura - Clean Code (REF-B2-04) aporta el criterio de cambios pequeños para integración - Laravel aparece como contexto de los laboratorios igual que en el Bloque I - no asignar ponderaciones de evaluación no validadas - revisión 2026-09-13: se agregaron 2 imágenes propias (SVG) y se profundizó el desarrollo de los cuatro contenidos, a solicitud explícita del usuario ("estaba muy superficial") cambios v2 (2026-09-16): - Se agregó una explicación más profunda de qué es Git incluyendo qué almacena realmente un commit los tres estados de un archivo (Pro Git cap 1.3) la carpeta .git su contenido y qué pasa si se borra y la diferencia entre control de versiones centralizado y distribuido - Se profundizó git clone explicando las cuatro cosas que hace en un solo paso incluyendo la configuración automática del remoto origin - Se unificó terminología "guarda" se cambió por "almacenar" en prosa referida a persistencia real (commits repositorio etiquetas) se conservó "guardar" únicamente para git stash por ser un concepto distinto (apartar temporalmente no almacenar) "subir cambios" se cambió por "sincronizar" en toda la prosa - Se agregó un ejemplo real de conflicto de fusión con los marcadores <<<<<<< ======= y >>>>>>> técnicas de buena práctica para resolverlo (hablar antes de decidir git mergetool git merge --abort) y un ejemplo guiado paso a paso completo desde el conflicto hasta el commit de merge resuelto - Se agregaron las estrategias de fusión de Git (fast-forward vs three-way merge/ort) qué es una auto-fusión y por qué se abre el editor con el mensaje de fusión en un merge que no es fast-forward - Se agregó una sección sobre changelog como salida natural de usar Conventional Commits y SemVer con referencia a Keep a Changelog - Se ampliaron las buenas prácticas de Clean Code más allá de cambios pequeños (nombres funciones pequeñas duplicación comentarios) - Se convirtió Definition of Done de dos líneas sueltas a una propuesta completa de cuatro criterios verificables - Se agregó una sección de configuración inicial desde cero (git config user.name user.email git init git clone) asumiendo que el estudiante no tiene conocimiento previo de Git en este punto - Se agregó git diff como ejemplo guiado - Se agregó una sección de comandos intermedios (git stash git reset vs git revert git log --graph) antes de la ampliación de Conventional Commits y SemVer - Se agregó la subsección "Estrategias de ramificación" con dos imágenes propias (SVG) comparando GitHub Flow Git Flow y Trunk-Based Development más un ejemplo guiado del ciclo de vida completo de una rama y la recomendación de estrategia para ReservaFIC - Se agregó un ejemplo Laravel de .gitignore explicando qué no debe versionarse y por qué - Se agregó un ejemplo guiado de merge sin conflicto para contrastar con el conflicto de fusión - Se agregaron enlaces de referencia junto a los conceptos de Git Conventional Commits SemVer GitHub Flow Git Flow y Trunk-Based Development nota técnica de compilación: las imágenes locales (recursos/imagenes/*.svg) requieren compilar con `marp --allow-local-files` — sin esa bandera Marp CLI bloquea la carga de archivos locales y las diapositivas que usan <img> quedan sin imagen imágenes nuevas en esta revisión: - recursos/imagenes/git_estrategias_ramificacion.svg - recursos/imagenes/git_ciclo_vida_rama.svg