Probar directorios vacíos
En este paso, exploraremos cómo Git maneja los directorios vacíos. Este es un punto común de confusión para los principiantes, ya que Git se comporta de manera diferente con los directorios en comparación con los archivos.
Primero, asegúrate de estar en el directorio ~/project/my-time-machine
:
cd ~/project/my-time-machine
Ahora, creemos un nuevo directorio vacío dentro de nuestro proyecto:
mkdir empty-folder
Hemos creado el directorio. Ahora, comprobemos el estado de nuestro repositorio utilizando git status
:
git status
Deberías ver una salida similar a esta:
On branch master
nothing to commit, working tree clean
Observa que Git no reporta empty-folder
como un directorio no rastreado. Esto se debe a que Git rastrea el contenido de los archivos, no los directorios en sí. Un directorio vacío no tiene contenido para rastrear.
Este es un concepto importante en Git. Si necesitas incluir un directorio vacío en tu repositorio, la solución común es colocar un archivo ficticio (dummy file) dentro de él. Una práctica común es crear un archivo llamado .gitkeep
(aunque el nombre no importa, es solo una convención).
Creemos un archivo .gitkeep
dentro de empty-folder
:
touch empty-folder/.gitkeep
Ahora, comprobemos git status
nuevamente:
git status
Esta vez, deberías ver:
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)
untracked files present (use "git add" to track)
Untracked files:
(use "git add <file>..." to include in what will be committed)
empty-folder/
Ahora Git ve empty-folder/
porque contiene un archivo (.gitkeep
) que se puede rastrear.
Esto demuestra que Git rastrea la presencia de archivos dentro de los directorios, en lugar de los directorios en sí. Para incluir un directorio en la historia de tu repositorio, debe contener al menos un archivo rastreado.