GitTrainer es una aplicación de consola para Windows diseñada para aprender y practicar Git real sobre repositorios reales y descartables.
El objetivo no es memorizar comandos aislados. El entrenamiento apunta a entrar en un repositorio desconocido, inspeccionar su estado, construir un modelo mental, elegir una operación con criterio, ejecutarla, verificar el resultado y recuperarse cuando algo sale mal.
La versión pública actual es v13.24.2.
Validación final realizada en Windows con Git for Windows:
Resultado: 175 OK / 0 FAIL
Catálogo final:
69 familias normales de aprendizaje
3 capstones Job Ready
2 capstones High Fluency
74 escenarios totales
El roadmap funcional está cerrado. El proyecto entra en mantenimiento: los cambios futuros deberían responder a bugs o problemas observados durante uso real.
- working tree, index, HEAD, staging, commits, historia y
.gitignore; - branches, fast-forward, detached HEAD y amend;
- clone, remotos, tracking, fetch, push, upstream y divergencias;
- colaboración con bare remotes y múltiples clones;
- merge, conflictos, abort y resolución manual;
- rebase, conflictos de rebase y criterio merge vs rebase;
- reset, revert, stash, reflog y recuperación;
- cherry-pick, force-with-lease, tags anotados, blame y bisect;
- rebase interactivo: squash, fixup, reorder, autosquash y drop;
- worktrees;
- retención, transferencia, scheduler adaptativo y Git Rush;
- evaluaciones
JOB READY · COREyPROFESSIONAL STRONG · HIGH FLUENCY.
Para desarrollar o ejecutar desde source:
- Windows x64;
- .NET SDK 10;
- Git for Windows.
La distribución self-contained publicada como Release no requiere que .NET 10 esté instalado, pero Git for Windows sigue siendo necesario porque GitTrainer trabaja con git.exe real.
dotnet build
dotnet runSuite completa:
dotnet run -- --local-testsPruebas de seguridad:
dotnet run -- --security-testsDiagnóstico del runtime:
dotnet run -- --diagnosticsdotnet publish -c Release -r win-x64 --self-contained true -p:PublishSingleFile=false -o .\publish\GitTrainerValidar el binario publicado:
.\publish\GitTrainer\GitTrainer.exe --local-testsLa carpeta publish/ está excluida del repositorio. Los binarios portables pertenecen a GitHub Releases, no al historial de source.
El progreso no depende sólo de completar ejercicios. GitTrainer registra evidencia y distingue:
NOT INTRODUCED
LEARNING
GUIDED
INDEPENDENT
RETAINED
TRANSFERABLE
FLUENT
El scheduler combina progresión deliberada, práctica focalizada, autonomía, retención espaciada, transferencia, mantenimiento e interleaving. Los laboratorios técnicos permiten inspeccionar escenarios sin modificar mastery.
La shell de entrenamiento es controlada; no expone PowerShell o cmd.exe arbitrarios. Los comandos Git se ejecutan contra repositorios reales dentro de una workstation virtual contenida.
La arquitectura de seguridad combina:
- token
WRITE_RESTRICTED; - ConPTY;
- Job Object;
- ACL por workspace
Machine; - entorno aislado;
- mapeo de rutas virtuales;
- política y reescritura de argumentos Git;
- bloqueo de helpers, editores y superficies de ejecución externa incompatibles con el modelo de amenaza.
GitTrainer no es una VM ni una sandbox para ejecutar repositorios hostiles de terceros. El alcance y las limitaciones están documentados en docs/SECURITY_MODEL.md.
Evidencia longitudinal:
%LOCALAPPDATA%\GitTrainer\Profile\attempts.jsonl
Logs:
%LOCALAPPDATA%\GitTrainer\Logs
Los repositorios de entrenamiento son descartables.
App/ UI y coordinación de la aplicación
Core/ primitivas compartidas, paths y salida de terminal
Git/ runtime Git, política, rewriter y sandbox
Infrastructure/ integración Win32, ConPTY, ACL y tokens restringidos
Learning/ evidencia, mastery y modelo mental
Persistence/ almacenamiento del historial
Scenarios/ escenarios y validadores de estado final
Shell/ shell de entrenamiento y navegación
Tests/ suite local de regresión
Training/ scheduler, Job Ready, Professional Strong y Git Rush
docs/ documentación técnica consolidada
tools/ utilidades de diagnóstico
GitTrainer fue desarrollado mediante un flujo iterativo asistido por IA. La definición del producto, requisitos, criterios de aceptación, pruebas y validación fueron dirigidos por el mantenedor del proyecto; la implementación del código fue generada principalmente con asistencia de ChatGPT y validada mediante compilación, pruebas automatizadas y uso manual en Windows.
Esta nota forma parte de la documentación pública del proyecto para mantener clara su procedencia técnica.
docs/RUNBOOK.md: puesta en marcha, pruebas y publicación.docs/IMPLEMENTATION_STATUS.md: estado funcional final.docs/SECURITY_MODEL.md: modelo de seguridad vigente y limitaciones.docs/CHANGELOG.md: evolución consolidada.docs/RELEASE_NOTES.md: notas de v13.24.2.
GitTrainer se publica bajo la licencia MIT. Ver LICENSE.