Git intermedio — nueva edición · Agrupar commits con squash

Reto 1: Agrupar commits con squash

Puedes preparar tu solución. .

Git / reto

Agrupa con rebase interactivo

Aplicar edición cambia el archivo; git add lo prepara.

Historial de commits

0000004Añade saludoHEAD → feature/saludo0000003Añade pie0000002Prepara documentomain0000001Commit inicial

Las líneas conectan los commits con sus padres. Los commits que ya no tienen una referencia también permanecen visibles en este laboratorio.

  1. 0000004: Añade saludo; HEAD → feature/saludo
  2. 0000003: Añade pie;
  3. 0000002: Prepara documento; main
  4. 0000001: Commit inicial;
Comparar trabajo, índice y HEAD

Trabajo

Título inicial
Centro
Pie de feature
Hola Git

Índice (staging)

Título inicial
Centro
Pie de feature
Hola Git

HEAD

Título inicial
Centro
Pie de feature
Hola Git

TERMINAL

Sesión local preparada. Escribe help para consultar los comandos de este tema.

Construye tu solución, paso a paso

Inicia sesión para guardar la puntuación. Puedes practicar sin iniciar sesión.

Comandos disponibles y límites
git --version · git config --global <clave> [valor]
git init · git status
git add <archivo | .> · git commit -m "mensaje" · git log
git log --oneline · git switch <rama> (antes: checkout)
git restore [--staged] <archivo> · git commit --amend [-m "mensaje" | --no-edit]
git switch --detach <commit> · HEAD · HEAD~1
git diff [--staged | <commit> <commit>]
git remote [-v] · git remote add <nombre> <URL> · git remote get-url <nombre> · git remote set-url <nombre> <URL>
git clone <URL>
git push [-u] <remoto> <rama>
ssh-keygen -t ed25519 · ssh -T git@github.com (ficticios)
git branch [nombre] · git branch -m <nombre> · git branch -d <rama> · git switch -c <rama>
git merge [--ff-only] <rama>
git merge --no-ff <rama> · git log --graph --all --decorate
git merge --abort · editar conflicto, git add y git commit -m "mensaje"
git config --global alias.st status · git st
git tag [nombre] · git tag -a <nombre> -m "mensaje" · git tag -n · git push origin <tag>
git reset --soft|--mixed|--hard <commit> · git reflog
git stash push [-u] [-m "mensaje"] · list · show · apply · pop · drop
git rebase <rama> · git rebase --continue · git rebase --abort
git grep [-n] <texto> [revisión]
git rebase -i <base> (editar lista) · git merge --squash <rama>
help · clear

Sesión en memoria: recargar descarta la práctica. Doscientas acciones como máximo. Dos archivos editables de hasta 250 líneas. Diez ramas como máximo. Diez entradas de stash como máximo. El modelo no ejecuta comandos reales ni realiza conexiones externas. diff muestra contenido anterior y posterior por archivo. grep busca texto literal. La lista interactiva conserva el orden y agrupa todos los commits seleccionados.