Curso de Git y GitHub Completo desde Cero

Domina el control de versiones con este curso de Git y GitHub gratuituo. Aprende a gestionar tus repositorios, colaborar en equipo y proteger tu código.

🚀 Antes de aprender Git y GitHub

Para aprovechar al máximo este tutorial, te sugerimos repasar primero nuestras guías de:

¿Ya conoces las bases del desarrollo web? Comienza el tutorial de Git abajo:

Guía Git

En esta guía aprenderás cómo gestionar el historial de cambios de tus proyectos con Git. Una vez que domines estos conceptos, podrás dar el siguiente paso con GitHub.

1. ¿Que es Git?

Git es un sistema de control de versiones distribuido que permite registrar, gestionar y controlar los cambios realizados en proyectos de desarrollo. Facilita el trabajo colaborativo, la creación de ramas y el seguimiento del historial del código de manera eficiente.

Git: ¿Qué es y para qué sirve?

2. Cómo instalar Git

Aprende a instalar Git paso a paso en Windows, macOS y Linux. Con esta guía podrás configurar el sistema de control de versiones más utilizado por los desarrolladores y dejarlo listo para comenzar a gestionar proyectos y repositorios de manera profesional.

Cómo instalar Git en Windows, Mac y Linux

3. Abrir Git en VS Code

Aprende a integrar Git con Visual Studio Code para gestionar el control de versiones directamente desde el editor. Descubre cómo verificar la instalación, configurar Git y aprovechar las herramientas integradas para trabajar con repositorios de forma más eficiente.

Guía para instalar Git en Visual Studio Code

4. Principales configuraciones

Conoce las principales configuraciones de Git para personalizar tu entorno de trabajo. Aprende a establecer el nombre de usuario, el correo electrónico, el editor predeterminado, la rama inicial y otras opciones esenciales para comenzar a trabajar de forma correcta.

Principales configuraciones de Git

5. Repositorio Git

Un repositorio Git es el espacio donde se almacena y administra el historial de un proyecto. Permite registrar cambios, trabajar con diferentes versiones, colaborar con otros desarrolladores y mantener organizado el código de forma segura.

¿Qué es un repositorio Git y para qué sirve?

6. Áreas de trabajo

Conoce las áreas de trabajo de Git y comprende cómo fluye un proyecto desde el directorio de trabajo hasta el repositorio. Aprende el papel del Working Directory, el Staging Area y el repositorio local para gestionar cambios de forma organizada y eficiente.

Áreas de trabajo en Git

7. Git Init - Crear repositorio

Aprende a crear un repositorio local utilizando el comando git init. Descubre cómo inicializar un proyecto, generar el repositorio y prepararlo para comenzar a controlar versiones con Git desde cero.

Cómo crear un repositorio con Git Init – Paso a Paso

8. Git add – Agregar archivos

El comando git add permite agregar archivos nuevos o modificados al área de preparación (Staging Area), indicando a Git qué cambios se incluirán en el próximo commit. Es uno de los comandos fundamentales para gestionar el control de versiones.

Git add – Agregar archivos al área de preparación

9. Git commit – Guardar cambios

El comando git commit permite guardar de forma permanente los cambios que previamente fueron agregados al área de preparación. Cada commit crea un punto en el historial del proyecto, facilitando el seguimiento, la organización y la recuperación de versiones.

Git commit – Guardar cambios

10. Git status – Conocer el estado

El comando git status muestra el estado actual del repositorio, indicando qué archivos han sido modificados, cuáles están en el área de preparación y cuáles aún no están siendo rastreados por Git. Es uno de los comandos más utilizados durante el desarrollo.

Git status – Conocer el estado

11. Git log – Ver historial de cambios

El comando git log permite consultar el historial de commits de un repositorio. Muestra información como el autor, la fecha, el identificador único y el mensaje de cada cambio, facilitando el seguimiento de la evolución del proyecto.

Git log – Ver el historial de cambios

12. Git diff – Comparar cambios

El comando git diff permite comparar los cambios realizados en archivos y repositorios. Muestra las diferencias entre versiones, el área de preparación y los commits, facilitando la revisión del código antes de guardar o compartir modificaciones.

Git diff – Cómo comparar cambios

13. .gitignore - Excluir archivos

El archivo .gitignore permite indicar a Git qué archivos y carpetas no deben incluirse en el control de versiones. Es ideal para excluir archivos temporales, configuraciones locales y dependencias que no deben formar parte del repositorio.

.gitignore en Git

14. HEAD y Hash - Identificadores

Aprende qué representan HEAD y los Hash en Git. Descubre cómo Git identifica de forma única cada commit y cómo la referencia HEAD señala la posición actual dentro del historial del repositorio.

HEAD y Hash en Git

15. Git restore – Recuperar cambios

El comando git restore permite descartar cambios o restaurar archivos a un estado anterior. Es una herramienta útil para recuperar versiones del directorio de trabajo o del área de preparación sin afectar el historial de commits.

Git restore – Recuperar cambios

16. Git reset – Mover el HEAD

El comando git reset permite mover la referencia HEAD a un commit anterior, modificando el estado del repositorio según el modo utilizado (--soft, --mixed o --hard). Es una herramienta clave para deshacer cambios y reorganizar el historial de desarrollo.

Git reset – Mover el HEAD

17. Git checkout – Viajar por commits

El comando git checkout permite desplazarse entre distintos commits, ramas y versiones de un proyecto. Aprende cómo explorar el historial del repositorio de forma segura y visualizar el estado del código en diferentes momentos de su desarrollo.

Git checkout – Viajar por commits
  1. ¿Qué es un repositorio Git y para qué sirve?
    • Repositorio local y remoto.
    • Estructura de un repositorio.
    • Carpeta .git.
  2. Crear un repositorio con git init
    • ¿Qué hace git init?
    • Cómo crear el primer repositorio.
    • Verificar que se creó correctamente.
  3. Conocer el estado del repositorio con git status
    • Interpretar los mensajes.
    • Archivos sin seguimiento.
    • Archivos modificados.
    • Archivos preparados.
  4. Agregar archivos al área de preparación (git add)
    • git add archivo
    • git add .
    • git add *.js
    • Buenas prácticas.
  5. Guardar cambios con git commit
    • ¿Qué es un commit?
    • Escribir buenos mensajes.
    • git commit -m
    • Ver el historial de commits.
  6. Consultar el historial (git log)
    • git log
    • git log --oneline
    • git log --graph
    • Diferentes formas de visualizar el historial.
  7. Modificar y eliminar archivos
    • Cambiar archivos.
    • Eliminar archivos.
    • Renombrarlos.
    • Cómo detecta Git cada cambio.
  8. Ignorar archivos con .gitignore
    • ¿Qué es?
    • Cómo crear uno.
    • Qué archivos ignorar.
    • Ejemplos reales.
  9. Deshacer cambios
    • git restore
    • git restore --staged
    • git reset
    • Cuándo utilizar cada comando.
  10. Comparar cambios (git diff)
    • Ver diferencias.
    • Comparar commits.
    • Comparar ramas.
  11. Trabajar con ramas (Branch)
    • ¿Qué es una rama?
    • Crear ramas.
    • Cambiar entre ramas.
    • Eliminar ramas.
  12. Fusionar ramas (git merge)
    • Cómo funciona.
    • Resolver conflictos.
    • Buenas prácticas.
  13. Etiquetas (git tag)
    • Crear etiquetas.
    • Versionado.
    • Tipos de tags.
  14. Alias en Git (git alias)
    • Crear atajos.
    • Alias recomendados.
    • Ejemplos prácticos.
  15. Repositorios remotos
    • ¿Qué es GitHub?
    • Conectar un repositorio.
    • git remote.
  16. Subir proyectos a GitHub
    • git push
    • Primer push.
    • Actualizar repositorios.
  17. Clonar repositorios (git clone)
    • Cómo clonar un proyecto.
    • HTTPS vs SSH.
  18. Descargar cambios (git pull y git fetch)
    • Diferencias.
    • Cuándo usar cada uno.
  19. Enviar cambios (git push)
    • Cómo funciona.
    • Errores frecuentes.
  20. Flujo de trabajo completo con Git
    • Crear un proyecto.
    • Modificar archivos.
    • Agregar cambios.
    • Hacer commits.
    • Crear ramas.
    • Fusionarlas.
    • Subir el proyecto a GitHub.
  21. Buenas prácticas al trabajar con Git
    • Escribir mensajes de commit claros.
    • Hacer commits pequeños y frecuentes.
    • Mantener la rama main estable.
    • Crear ramas para nuevas funcionalidades.
    • Utilizar .gitignore.
    • Actualizar el repositorio antes de comenzar a trabajar.
  22. Comandos avanzados de Git
    • git stash
    • git cherry-pick
    • git rebase
    • git reflog
    • git bisect
    • git blame
    • git clean
    • git worktree