Supongamos que deseas cambiar completamente la estructura de directorios de tu base de código.

Quieres mover algunas carpetas hacia arriba, otras hacia abajo, y también mover un montón de archivos a nuevas carpetas que vas a crear.

Comienzas a mover el código, comprobando en paralelo que todo funciona, y agregas algunas carpetas que te serán útiles en el próximo proyecto.

Por ahora, estas carpetas están vacías. Vas a comenzar el siguiente proyecto en unos días, así que será mejor que agregues estas nuevas carpetas ya que comenzaste a mover la base de código.

Añades todo esto a tu rama del proyecto y estás listo para que alguien lo revise. Así que le avisas a quien va a inspeccionar el código que has terminado con Slack.

Después de lo cual, ellos clonan tu rama, pero la revisión de tu código termina en un fracaso, ya que olvidaste agregar todas las nuevas carpetas que debías agregar.

Espera… ¿qué?

¿Qué pasó?

Git no puede agregar directorios vacíos. Solo puede rastrear archivos.

Si intentas agregar una carpeta vacía, esta no se incluirá en tu rama, a pesar de que la carpeta existirá en tu computadora local.

Por lo tanto, si alguien intenta clonar tu código, no obtendrá la misma estructura de carpetas que tienes en tu computadora local.

Entonces, ¿qué hacer si esto no funciona?

¿Cómo Usar .gitkeep?

Bueno, sabemos que Git solo rastrea archivos, así que necesitamos agregar algo a la carpeta.

Puedes agregar cualquier cosa. Todo lo que necesitas es simplemente agregar un archivo ficticio para asegurarte de que la carpeta sea rastreada y pueda ser agregada.

Puedes simplemente copiar y pegar un archivo de texto vacío file.txt, y eso funcionará. Incluso puedes agregar una imagen de un gatito.

Sin embargo, existe una práctica común bastante extendida para resolver este problema. Consiste en colocar un archivo llamado .gitkeep en tus carpetas vacías.

¡Esta no es ninguna función especial de Git! Puedes llamar a este archivo como quieras. No hay nada especial en el nombre .gitkeep. Algunos desarrolladores, por ejemplo, añaden .gitignore en lugar de este archivo.

Sin embargo, el nombre .gitignore puede generar confusión, ya que no estás intentando hacer que Git ignore tu archivo, sino simplemente agregándolo a tu rama.

De cualquier manera, al agregar este archivo común a tus carpetas, puedes garantizar que cuando llegue el momento, podrás agregar estas carpetas a tu rama del proyecto.

Conclusión

.gitkeep es algo bastante común que puedes observar en las bases de código donde Git debe rastrear una carpeta vacía.

El nombre de tu archivo ficticio no tiene que ser .gitkeep, pero como desarrollador, te encontrarás constantemente con este nombre.

Categorizado en:

Fundamentos,