Archivos no rastreados de Git
Este artículo presentará cómo dejar de rastrear archivos en Git.
Los archivos dentro de un repositorio de git tienen dos estados: tracked o untracked.
Los archivos rastreados son archivos que Git conoce.
Los archivos sin seguimiento son archivos que se han creado dentro del repositorio de trabajo pero que no se han agregado con el comando git add.
Considere este escenario.
cd ~ mkdir my-repo cd my-repo git init touch file.txt git add file.txt git commit -m 'First commit' Git conoce file.txt, por lo que, técnicamente, ahora se realiza un seguimiento de file.txt.
Más adelante, desea decirle a Git que ignore file.txt (o cualquier archivo enviado por error) agregando este nombre de archivo a .gitignore.
touch .gitignore echo 'file.txt' >> .gitignore git add .gitignore && git commit -m 'Ignore file.txt' ¿Qué pasaría?
Después de confirmar .gitignore, realiza un cambio en file.txt, luego git aún muestra que se rastrea file.txt porque todavía está presente en el índice de su repositorio.
$ echo 'qwe' > file.txt $ git status On branch master Changes not staged for commit: (use "git add <file>..." to update what will be committed) (use "git restore <file>..." to discard changes in working directory) modified: file.txt no changes added to commit (use "git add" and/or "git commit -a") Dejar de rastrear archivos en Git
Paso 1, ejecuta el siguiente comando.
$ git rm --cache file.txt rm 'file.txt' $ git st On branch master Changes to be committed: (use "git restore --staged <file>..." to unstage) deleted: file.txt rmdeja de rastrear y elimina un archivo del directorio del repositorio local.- La opción
--cacheespecifica que el comandormelimina el archivo solo del índice, no elimina el archivo del repositorio local
git rm --cache file.txt dejará de rastrear file.txt eliminándolo del índice del repositorio pero manteniendo el archivo intacto.
$ git commit -m 'Remove file.txt from tracking' [master 4697164] Remove file.txt from tracking 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 file.txt De ahora en adelante, Git no rastreará ningún cambio realizado en file.txt.
$ echo '123' > file.txt $ git st On branch master nothing to commit, working tree clean