Trabajando con Múltiples Archivos y Directorios
Ahora que sabemos cómo eliminar un solo archivo de la caché de Git, exploremos escenarios más complejos como la eliminación de múltiples archivos o directorios completos.
Creando Más Archivos para Practicar
Primero, creemos algunos archivos más y una estructura de directorios para practicar:
- Cree un directorio y algunos archivos adicionales:
## Create a directory for temporary files
mkdir temp
## Create some files in the temp directory
echo "This is a temporary file" > temp/temp1.txt
echo "Another temporary file" > temp/temp2.txt
## Create another log file in the main directory
echo "2023-01-02: System updated" > system.log
- Agregue estos nuevos archivos al seguimiento de Git:
git add .
- Confirme los cambios:
git commit -m "Add temporary files and system log"
- Verifique que Git esté rastreando todos los archivos:
git ls-files
Debería ver:
app.log
config.ini
sample.txt
system.log
temp/temp1.txt
temp/temp2.txt
Eliminando Múltiples Archivos de la Caché de Git
Ahora digamos que queremos eliminar todos los archivos de registro y todo el directorio temp del seguimiento de Git.
- Elimine el archivo de registro del seguimiento de Git:
git rm --cached system.log
- Elimine todos los archivos en el directorio temp recursivamente:
git rm --cached -r temp/
La bandera -r es importante aquí, ya que le dice a Git que elimine recursivamente todos los archivos del directorio de su caché.
- Verifique el estado:
git status
Verá que tanto el archivo de registro como todos los archivos en el directorio temp están preparados para la eliminación del sistema de seguimiento de Git:
On branch master
Changes to be committed:
(use "git restore --staged <file>..." to unstage)
deleted: system.log
deleted: temp/temp1.txt
deleted: temp/temp2.txt
Untracked files:
(use "git add <file>..." to include in what will be committed)
system.log
temp/
- Confirme estos cambios:
git commit -m "Remove logs and temp directory from Git tracking"
- Verifique que Git ya no está rastreando estos archivos:
git ls-files
Ahora solo debería ver:
app.log
config.ini
sample.txt
Sin embargo, todos los archivos aún existen en su directorio local:
ls -la
ls -la temp/
Usando .gitignore para Evitar el Seguimiento de Archivos No Deseados
Ahora que hemos eliminado los archivos del seguimiento de Git, configuremos un archivo .gitignore para evitar que se agreguen accidentalmente de nuevo:
- Cree un archivo
.gitignore:
nano .gitignore
- Agregue los siguientes patrones al archivo:
## Ignore log files
*.log
## Ignore temp directory
temp/
-
Guarde y salga (presione Ctrl+X, luego Y, luego Enter)
-
Agregue y confirme el archivo .gitignore:
git add .gitignore
git commit -m "Add .gitignore file"
Ahora, incluso si intenta agregar todos los archivos a Git, respetará su archivo .gitignore y no rastreará los patrones especificados:
git add .
git status
Debería ver que los archivos de registro y el directorio temp no se están agregando al seguimiento de Git.
Ahora ha aprendido cómo eliminar múltiples archivos y directorios de la caché de Git y cómo evitar que archivos específicos sean rastreados en el futuro utilizando un archivo .gitignore.