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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
- ¿Qué es un repositorio Git y para qué sirve?
- Repositorio local y remoto.
- Estructura de un repositorio.
- Carpeta
.git.
- Crear un repositorio con
git init- ¿Qué hace
git init? - Cómo crear el primer repositorio.
- Verificar que se creó correctamente.
- ¿Qué hace
- Conocer el estado del repositorio con
git status- Interpretar los mensajes.
- Archivos sin seguimiento.
- Archivos modificados.
- Archivos preparados.
- Agregar archivos al área de preparación (
git add)git add archivogit add .git add *.js- Buenas prácticas.
- Guardar cambios con
git commit- ¿Qué es un commit?
- Escribir buenos mensajes.
git commit -m- Ver el historial de commits.
- Consultar el historial (
git log)git loggit log --onelinegit log --graph- Diferentes formas de visualizar el historial.
- Modificar y eliminar archivos
- Cambiar archivos.
- Eliminar archivos.
- Renombrarlos.
- Cómo detecta Git cada cambio.
- Ignorar archivos con
.gitignore- ¿Qué es?
- Cómo crear uno.
- Qué archivos ignorar.
- Ejemplos reales.
- Deshacer cambios
git restoregit restore --stagedgit reset- Cuándo utilizar cada comando.
- Comparar cambios (
git diff)- Ver diferencias.
- Comparar commits.
- Comparar ramas.
- Trabajar con ramas (Branch)
- ¿Qué es una rama?
- Crear ramas.
- Cambiar entre ramas.
- Eliminar ramas.
- Fusionar ramas (
git merge)- Cómo funciona.
- Resolver conflictos.
- Buenas prácticas.
- Etiquetas (
git tag)- Crear etiquetas.
- Versionado.
- Tipos de tags.
- Alias en Git (
git alias)- Crear atajos.
- Alias recomendados.
- Ejemplos prácticos.
- Repositorios remotos
- ¿Qué es GitHub?
- Conectar un repositorio.
git remote.
- Subir proyectos a GitHub
git push- Primer push.
- Actualizar repositorios.
- Clonar repositorios (
git clone)- Cómo clonar un proyecto.
- HTTPS vs SSH.
- Descargar cambios (
git pullygit fetch)- Diferencias.
- Cuándo usar cada uno.
- Enviar cambios (
git push)- Cómo funciona.
- Errores frecuentes.
- Flujo de trabajo completo con Git
- Crear un proyecto.
- Modificar archivos.
- Agregar cambios.
- Hacer commits.
- Crear ramas.
- Fusionarlas.
- Subir el proyecto a GitHub.
- Buenas prácticas al trabajar con Git
- Escribir mensajes de commit claros.
- Hacer commits pequeños y frecuentes.
- Mantener la rama
mainestable. - Crear ramas para nuevas funcionalidades.
- Utilizar
.gitignore. - Actualizar el repositorio antes de comenzar a trabajar.
- Comandos avanzados de Git
git stashgit cherry-pickgit rebasegit refloggit bisectgit blamegit cleangit worktree
