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

18. Git tag – Crear etiquetas

El comando git tag permite crear etiquetas para marcar commits importantes, como versiones o lanzamientos de un proyecto. Aprende a crear, listar y administrar tags para identificar fácilmente puntos clave en el historial del repositorio.

Git tag – Crear etiquetas

19. Git alias – Crear atajos

Los alias en Git permiten crear atajos personalizados para ejecutar comandos de forma más rápida y sencilla. Aprende a definir tus propios alias para optimizar el flujo de trabajo y aumentar la productividad al utilizar Git diariamente.

Git alias – Crear atajos

20. Git branch – Crear rama

El comando git branch permite crear y gestionar ramas dentro de un repositorio. Aprende a crear nuevas ramas para desarrollar funcionalidades de forma independiente, mantener el código organizado y trabajar en paralelo sin afectar la rama principal.

Git branch – Crear una rama

21. Git switch – Cambiar de rama

El comando git switch permite cambiar entre ramas de un repositorio de forma sencilla y segura. Aprende a moverte entre ramas existentes o crear una nueva mientras cambias a ella, facilitando el trabajo con distintas funcionalidades y versiones del proyecto.

Git switch – Cambiar de rama

22. Git merge – Unir ramas

El comando git merge permite combinar los cambios de una rama con otra, integrando el trabajo realizado durante el desarrollo. Aprende cómo funciona la fusión de ramas, cómo resolver conflictos y mantener un historial de cambios organizado en Git.

Git merge – Unir ramas

23. Conflictos en Git

Los conflictos en Git ocurren cuando el sistema no puede combinar automáticamente los cambios realizados en diferentes ramas. Aprende a identificar, resolver y confirmar conflictos de forma correcta para mantener la integridad del proyecto y continuar con el flujo de trabajo.

Conflictos en Git

24. Git stash – Cambios temporales

El comando git stash permite guardar temporalmente los cambios no confirmados sin crear un commit. Aprende a almacenar, recuperar y administrar estos cambios para cambiar de rama o realizar otras tareas sin perder tu trabajo en progreso.

Git stash – Cambios temporales

Guía GitHub

En esta guía aprenderás cómo llevar tus proyectos al siguiente nivel compartiendo y respaldando tu código en la nube con GitHub. Una vez que domines esta plataforma, estarás listo para colaborar en equipo y contribuir al mundo del código abierto.

25. GitHub: ¿Qué es?

GitHub es una plataforma basada en la nube que permite alojar repositorios Git, colaborar en proyectos y gestionar el desarrollo de software. Descubre qué es GitHub, cómo funciona y por qué es una de las herramientas más utilizadas por desarrolladores de todo el mundo.

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

26. Crear una cuenta

Aprende a crear una cuenta en GitHub paso a paso para comenzar a alojar repositorios, colaborar en proyectos y aprovechar todas las herramientas que ofrece la plataforma para el desarrollo y control de versiones con Git.

Cómo crear una cuenta en GitHub

27. Configuración inicial

Aprende a realizar la configuración inicial de GitHub para preparar tu cuenta antes de comenzar a trabajar con repositorios. Descubre cómo personalizar tu perfil, ajustar las opciones principales y dejar todo listo para gestionar proyectos de forma eficiente.

Configuración inicial de GitHub

28. Repositorio

Un repositorio en GitHub es el espacio donde se almacena y gestiona un proyecto junto con su código, archivos e historial de cambios. Aprende cómo funcionan los repositorios en GitHub y cómo utilizarlos para organizar proyectos, controlar versiones y colaborar con otros desarrolladores.

Repositorio en GitHub

29. Conectar Git con GitHub

Aprende a conectar un repositorio local de Git con GitHub para poder enviar y gestionar tus cambios en un repositorio remoto. Descubre cómo configurar la conexión y preparar tu proyecto para trabajar con GitHub de forma sencilla y segura.

Conectar Git con GitHub

30. README.md

El archivo README.md es un documento utilizado para presentar y explicar la información principal de un proyecto. Aprende cómo crear y estructurar un README en formato Markdown para describir proyectos, instrucciones de instalación, características y otra información relevante en GitHub.

README.md en GitHub: ¿Qué es y cómo utilizarlo?

31. Git push: Subir cambios

El comando git push permite enviar los cambios y commits realizados en un repositorio local hacia un repositorio remoto, como GitHub. Aprende cómo utilizarlo para sincronizar tu proyecto y compartir tus modificaciones.

Git push: Subir cambios

32. Git clone: Clonar repositorio

El comando git clone permite crear una copia local de un repositorio remoto, incluyendo sus archivos, ramas e historial de cambios. Aprende cómo clonar repositorios desde GitHub y comenzar a trabajar con un proyecto existente en tu computadora.

Git clone: Clonar repositorio

33. Git pull – Actualizar repositorio

El comando git pull permite obtener los cambios más recientes de un repositorio remoto e integrarlos directamente en la rama local. Aprende cómo utilizarlo para mantener tu proyecto actualizado y sincronizado con GitHub.

Git pull – Actualizar repositorio

34. Git fetch – Consultar cambios

El comando git fetch permite consultar y descargar los cambios de un repositorio remoto sin modificar directamente la rama actual. Es útil para revisar las novedades disponibles antes de decidir cómo integrarlas en el proyecto local.

Git fetch – Consultar cambios

  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