Learn Git & Version Control
A free, interactive course on Git and version control. You run real Git commands on every lesson - `init`, `add`, `commit`, `branch`, `merge`, resolve conflicts, `push`, `pull` - in a browser-based terminal, with AI hints when you get stuck and a free certificate when you finish. Part of the wider Terminal journey, so the command-line context you need is right there.
9,317+ codders inscritos
- Apto para principiantes
Ayuda de codificación con IA
Lecciones interactivas prácticas
Narración de audio en cada lección
Cuestionarios para poner a prueba tu conocimiento
Certificado gratuito de finalización
Programa
Esta sección forma parte del Journey de Terminal. El programa completo tiene más secciones - haz clic en cualquier vista previa de abajo para verla en la página del Journey.
- Sección 1Fundamentos82 lecciones
Sección 1
Control de versiones
Empezar secciónEmpezarExpandirContraerHaz un seguimiento de tu trabajo con Git. Inicializa repositorios, prepara y confirma cambios, crea ramas y fusiónalas, resuelve conflictos y recupérate de errores.Introducción
3 lecciones123- 01¿Qué es el control de versiones?Quiz
- 02¿Qué es Git?RetoQuiz
- 03Instantáneas y commitsQuiz
Primeros pasos
5 lecciones531- 01Inicializar un repositorioRetoQuiz
- 02La carpeta .gitRetoQuiz
- 03Configurar tu identidadRetoQuiz
- 04Git StatusRetoQuiz
- 05Resumen: Primer repositorioReto
Seguimiento de cambios
6 lecciones640- 01El área de preparaciónRetoQuiz
- 02Git AddRetoQuiz
- 03Git CommitRetoQuiz
- 04Modificar un archivo bajo seguimientoRetoQuiz
- 05Git LogRetoQuiz
- 06Resumen - Primeros commitsReto
Inspección de cambios
4 lecciones425- 01Git DiffRetoQuiz
- 02Diff de los cambios preparadosRetoQuiz
- 03Git ShowRetoQuiz
- 04Repaso - Trabajo de detectiveReto
Ignorar archivos
4 lecciones427- 01¿Por qué ignorar archivos?RetoQuiz
- 02Patrones de .gitignoreRetoQuiz
- 03Comprobar reglas de ignoradoRetoQuiz
- 04Resumen - Repo limpioReto
Proyecto de Sitio de Recetas
Proyecto5 lecciones137- 01Descripción General del ProyectoRetoQuiz
- 02Inicializar e IgnorarProyectoQuiz
- 03Primer CommitProyectoQuiz
- 04Añadir una Segunda RecetaProyectoQuiz
- 05Inspeccionar el HistorialProyectoQuiz
Ramificación
6 lecciones640- 01¿Qué es una rama?RetoQuiz
- 02Crear una ramaRetoQuiz
- 03Cambiar de ramaRetoQuiz
- 04Hacer commit en una ramaRetoQuiz
- 05Eliminar una ramaRetoQuiz
- 06Resumen - Práctica con ramasReto
Fusión
6 lecciones640- 01¿Qué es una fusión?RetoQuiz
- 02Fusión Fast-ForwardRetoQuiz
- 03Fusión de tres víasRetoQuiz
- 04Conflictos de fusiónRetoQuiz
- 05Resolver un conflictoRetoQuiz
- 06Resumen - Maestro de las fusionesReto
Deshacer cambios
6 lecciones641- 01Descartar cambios sin prepararRetoQuiz
- 02Quitar un archivo del área de preparaciónRetoQuiz
- 03Enmendar el último commitRetoQuiz
- 04Revertir un commitRetoQuiz
- 05Restablecer una ramaRetoQuiz
- 06Resumen - Máquina del tiempoReto
Remotos
4 lecciones324- 01¿Qué es un remoto?RetoQuiz
- 02Añadir un remotoRetoQuiz
- 03Push, Pull y CloneQuiz
- 04Resumen - Configuración del remotoReto
Proyecto de Feature Branch
Proyecto6 lecciones142- 01Descripción general del proyectoRetoQuiz
- 02Inicializar MainProyectoQuiz
- 03Trabajar en una ramaProyectoQuiz
- 04Actualizar Main en paraleloProyectoQuiz
- 05Fusionar la funcionalidadProyectoQuiz
- 06LimpiezaProyectoQuiz
Desafíos finales
3 lecciones3- 01Repo de Blog desde ceroReto
- 02Baile de ramasReto
- 03Maestro del deshacerReto
Why learn Git with Coddy
- Run Git in your browser. No install, no GitHub account required, no environment setup. Every command operates on a real repo so you see what
git status,git log, andgit diffactually print. - Core Git: the staging area, commits, branches, merging, rebasing, conflict resolution, remote repos,
pullvsfetch, undoing mistakes. The Git skills you'll use every day on the job. - AI hints help you read Git's famously cryptic output - detached HEAD, fast-forward, three-way merge - without spoiling the answer, so Git stops feeling like magic.
- Free Git certificate when you finish the section. A credible proof point for any developer role, since version control is non-negotiable on every team.
Frequently asked questions about learning Git
What is Git?
Git is the distributed version control system most software teams use to track changes to their code. Each developer has a full copy of the project history, and Git lets you commit snapshots, branch off to try ideas, merge work together, and roll back when things go wrong.
Is Git hard to learn?
The basics -
init, add, commit, status, log, push, pull - are quick to pick up. The harder parts (rebasing, resolving conflicts, recovering from mistakes, understanding what HEAD is doing) take longer. The course introduces them in small steps with a real repo at every lesson so the commands stop being abstract.Do I need to know the command line to use Git?
It helps, and the previous section of the Terminal journey covers the basics. Git has GUIs too, but every team eventually drops to the command line for the tricky operations, so it's worth being comfortable typing the commands yourself.
What's the difference between Git and GitHub?
Git is the version control tool that runs on your machine. GitHub (and GitLab, Bitbucket, etc.) is a hosting service where you push your Git repos so other people can pull them. You can use Git without ever using GitHub - they're separate things that work well together.
Can I learn Git online for free?
Yes. The interactive Git section is free - full lessons, real Git commands on every exercise, and a certificate. Everything runs in a browser-based terminal so you don't need to install Git or create accounts to start.
Do I get a certificate after the Git course?
Yes. Finishing the Git section gives you a free certificate of completion you can share on LinkedIn or include on your resume. Version control is expected on every software team, so this is a meaningful signal alongside any portfolio projects.