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

35. Ramas en GitHub

Las ramas en GitHub permiten trabajar en diferentes versiones o funcionalidades de un proyecto de manera independiente. Aprende cómo crear, utilizar y gestionar ramas para organizar el desarrollo y colaborar con otros desarrolladores sin afectar la rama principal.

Ramas en GitHub

36. Pull Request

Un Pull Request en GitHub permite proponer cambios realizados en una rama para que sean revisados y posteriormente integrados en otra rama. Aprende cómo crear, revisar y gestionar Pull Requests para colaborar de forma organizada en proyectos de desarrollo.

Pull Request en GitHub

37. GitHub Issues

GitHub Issues permite organizar y realizar un seguimiento de tareas, errores, mejoras y otros aspectos relacionados con un proyecto. Aprende cómo utilizar Issues para gestionar el trabajo y colaborar de forma organizada con otros desarrolladores.

GitHub Issues

38. Labels y Milestones

Las Labels y Milestones de GitHub permiten organizar y clasificar Issues dentro de un proyecto. Aprende cómo utilizar etiquetas para identificar tareas y Milestones para agruparlas y realizar un seguimiento del progreso hacia determinados objetivos.

Labels y Milestones en GitHub

39. Fork en GitHub

Un Fork en GitHub permite crear una copia de un repositorio dentro de tu propia cuenta para trabajar sobre él de forma independiente. Aprende cómo utilizar Forks para colaborar en proyectos y proponer cambios sin modificar directamente el repositorio original.

Fork en GitHub

40. GitHub Projects

GitHub Projects permite organizar y gestionar el trabajo de un proyecto mediante tableros, tareas y diferentes vistas. Aprende cómo utilizar esta herramienta para planificar actividades, realizar un seguimiento del progreso y organizar el desarrollo de proyectos.

GitHub Projects

41. Fork en GitHub

Un Fork en GitHub permite crear una copia de un repositorio dentro de tu propia cuenta para trabajar sobre él de forma independiente. Aprende cómo utilizar Forks para colaborar en proyectos y proponer cambios sin modificar directamente el repositorio original.

Fork en GitHub

42. GitHub Open Source

GitHub Open Source permite participar en proyectos de código abierto, explorar repositorios públicos y colaborar con desarrolladores de todo el mundo. Aprende cómo funcionan los proyectos Open Source y cómo contribuir utilizando las herramientas de GitHub.

GitHub Open Source

43. GitHub Pages

GitHub Pages permite publicar sitios web directamente desde un repositorio de GitHub. Aprende cómo funciona esta herramienta y cómo utilizarla para alojar páginas web estáticas de forma sencilla y gratuita.

GitHub Pages