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.
- ¿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
