Subiendo directorios vacíos en Git

Una de las características de Git es que, por defecto, los directorios vacíos no forman parte del repositorio y, por lo tanto, son silenciosamente descartados por operaciones como commit o push.

Incluso en los casos en que un directorio que previamente formaba parte de un repositorio pierda todo su contenido, este directorio directorio es silenciosamente eliminado del repositorio y no será creado en futuras operaciones de clonación.

Por otro lado, en la estructura de muchos proyectos, se contemplan directorios donde se alojarán objetos compilados a partir de las fuentes o archivos intermedios del proceso de empaquetado.

Estos archivos nunca deberían ser subidos al repositorio ya que se generan a partir de los fuentes y generalmente dependen fuertemente del entorno de desarrollo y opciones de compilación utilizadas. Pero los directorios que los contienen deben existir (estando originalmente vacíos) para que el proyecto pueda ser compilados sin errores.

La solución más elegante a este problema la encontré buscando por stack overflow y que consiste en crear el directorio e incluir dentro un fichero .gitignore con el siguiente contenido:

# Ignorar todo contenido de este directorio
*
# Salvo el propio fichero .gitignore 
!.gitignore

Entonces, podremos incluir con git add este fichero .gitignore y así, no estando el directorio vacío el mismo será incluido en el repositorio con la próxima operación push.

Además, como puede observarse, esta configuración de .gitignore previene que accidentalmente algún fichero dentro de este directorio pueda pasar a formar parte del proyecto y es eliminado de los reportes que se realicen con git status.

José Administrator
Apasionado por el software, la electrónica y la fotografía.
follow me

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *