Tema 24: Buscar en el proyecto con git grep
git grep busca contenido en archivos versionados. Sin indicar una revisión, consulta los archivos seguidos del directorio de trabajo. No sustituye a log: log busca y muestra versiones; grep encuentra líneas de texto.
git grep -n TODO muestra coincidencias y números de línea. Una salida como app.txt:3:TODO revisar identifica el archivo, la línea y el texto. Las comillas permiten buscar expresiones con espacios, por ejemplo git grep "Hola Git".
git grep inicial HEAD~1 busca en el árbol de un commit anterior sin cambiar tu posición. Es distinto de visitar esa versión mediante switch --detach: inspeccionas el contenido desde donde estabas. También puedes utilizar una etiqueta ya creada como revisión.
En Git real los patrones pueden tener reglas de expresiones regulares. git grep -F busca literalmente; el laboratorio usa siempre texto literal y admite las formas sencillas de esta lección. La salida sin coincidencias no significa que el repositorio esté vacío, sino que ese texto no se ha encontrado en la selección consultada.
Los archivos nuevos sin seguimiento quedan fuera de la búsqueda normal de esta práctica. Si creías que una nota debía aparecer, revisa antes status y comprueba si está incorporada al índice. Buscar no prepara ni confirma nada.
Comandos para probar #
1git status 2git grep -n TODO 3git grep inicial HEAD~1 4git log --oneline
Error que conviene evitar #
Buscar en la versión actual esperando resultados de un commit antiguo. Indica la revisión cuando necesites consultar otra instantánea.
Laboratorio local #
Prueba los comandos y observa qué cambia. Puedes reiniciar sin guardar una entrega. Los retos evaluables y el cuestionario están en las actividades de este tema.
Git / práctica local
Encuentra una pista
Aplicar edición cambia el archivo; git add lo prepara.
Historial de commits
Las líneas conectan los commits con sus padres. Los commits que ya no tienen una referencia también permanecen visibles en este laboratorio.
- 0000003: Anota tarea; HEAD → main
- 0000002: Añade saludo;
- 0000001: Commit inicial;
Comparar trabajo, índice y HEAD
Trabajo
Hola Git
Índice (staging)
Hola Git
HEAD
Hola Git
TERMINAL
Sesión local preparada. Escribe help para consultar los comandos de este tema.
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] 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.
Resumen
- Consulta el contenido de los archivos seleccionados.
- La salida permite localizar la coincidencia.
- Puedes pasarla a grep sin cambiar de posición.
- Buscar en la versión actual esperando resultados de un commit antiguo. Indica la revisión cuando necesites consultar otra instantánea.