Combinar con la comprobación de archivos ignorados
En los pasos anteriores, aprendimos cómo identificar archivos no rastreados utilizando git status y git ls-files --others. Sin embargo, a veces tienes archivos que intencionalmente no quieres que Git rastree, como archivos temporales, salidas de compilación o archivos de configuración que contengan información sensible. Git te permite especificar estos archivos en un archivo .gitignore.
En este paso, crearemos un archivo .gitignore y veremos cómo afecta a la salida de git status y git ls-files --others.
Primero, asegúrate de estar en el directorio ~/project/my-time-machine.
Ahora, creemos un archivo que queramos ignorar. Lo llamaremos temp.log:
echo "This is a temporary log file" > temp.log
Ejecuta git status de nuevo:
git status
Deberías ver tanto notes.txt como temp.log enumerados como archivos no rastreados:
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: message.txt
Untracked files:
(use "git add <file>..." to include in what will be committed)
notes.txt
temp.log
no changes added to commit (use "git add" and/or "git commit -a")
Ahora, creemos un archivo .gitignore y agreguemos temp.log a él. Utiliza el editor nano para crear y editar el archivo:
nano .gitignore
Dentro del editor nano, escribe la siguiente línea:
temp.log
Presiona Ctrl + X, luego Y para guardar y Enter para confirmar el nombre del archivo.
Ahora, ejecuta git status una vez más:
git status
Esta vez, temp.log ya no debería aparecer en la lista de "Archivos no rastreados":
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: message.txt
Untracked files:
(use "git add <file>..." to include in what will be committed)
notes.txt
no changes added to commit (use "git add" and/or "git commit -a")
Git ahora sabe que debe ignorar temp.log. Veamos también cómo se ve afectado git ls-files --others:
git ls-files --others
La salida ahora solo debe mostrar notes.txt:
notes.txt
Por defecto, git ls-files --others no enumera los archivos ignorados. Este suele ser el comportamiento deseado, ya que normalmente no quieres ver los archivos que has indicado explícitamente a Git que ignore.
Si sí quieres ver los archivos ignorados junto con otros archivos no rastreados, puedes utilizar la opción --ignored con git ls-files --others:
git ls-files --others --ignored
La salida ahora incluirá tanto archivos no rastreados como archivos ignorados:
.gitignore
notes.txt
temp.log
Ten en cuenta que .gitignore en sí es un archivo no rastreado hasta que lo agregues y confirmes.
Comprender cómo usar .gitignore es crucial para mantener tu repositorio limpio y centrado en los archivos reales del proyecto. Evita la confirmación accidental de archivos que no deberían estar bajo control de versiones.