He tenido este problema en un entorno de compilación de CI donde la herramienta de CI realizaba una clonación superficial del repositorio. Esto fue frustrante, porque en mi entorno de desarrollo, el comando
git describe --tags
me daría salida como
2.2.12-7-g8ec9d6c9
mientras que en el entorno de compilación obtendría el error "fatal no se encontraron nombres". Si intenté usar la etiqueta --always
git describe --tags --always
entonces simplemente obtendría el hash de la última confirmación, pero no la etiqueta más reciente antes de esa confirmación
8ec9d6c9
Realizando un git pull en el entorno de compilación no ayudaría, porque una vez que el repositorio se ha clonado superficialmente, las futuras extracciones no actualizarán las etiquetas.
La solución era asegurar que el clon inicial del reporto en el entorno de construcción no era un clon poco profundo (es decir, el git clonecomando no se utilizó con --depth, --shallow-sinceo --shallow-excludeparámetros).