Tuberías de Git / Bitbucket: ¿qué hace que las tags aparezcan diferentes según la twig a la que presiono?

Intento entender por qué obtengo dos resultados diferentes en relación con las tags git cuando ejecuto mi file bitbucket-pipelines.yml. Actualmente mi proyecto tiene tags que se ejecutan desde 1.0.0 - 1.0.25 . El file .yml se ve así …

 pipelines: branches: diff-test: - step: script: - export PREVIOUS_GIT_HASH=`git rev-list --tags --skip=2 --max-count=1` - export PREVIOUS_GIT_TAG=`git describe ${PREVIOUS_GIT_HASH} --abbrev=0` - export GIT_TAG=`git describe --tags --abbrev=0` - echo ${PREVIOUS_GIT_TAG} ${GIT_TAG} # A develop step/script happens here but it's irrelevant... master: - step: script: # set the most recent tag as an environment variable. - export GIT_TAG=`git describe --tags --abbrev=0` - zip -FSr ${BITBUCKET_REPO_SLUG}-${GIT_TAG}.zip ./ -x@exclude.lst - curl -u ${BB_AUTH_STRING} -X POST "https://api.bitbucket.org/2.0/repositories/${BITBUCKET_REPO_OWNER}/${BITBUCKET_REPO_SLUG}/downloads" --form files=@"${BITBUCKET_REPO_SLUG}-${GIT_TAG}.zip" 

Cuando presiono para dominar, la label adjunta al artefacto de descarga es correcta (1.0.25). Sin embargo, cuando presiono para diff-test , las tags que se repiten son 1.0.14 y 1.0.15 .

En la documentation de git, para describe , dice --tags: Instead of using only the annotated tags, use any tag found in refs/tags namespace. This option enables matching a lightweight (non-annotated) tag. --tags: Instead of using only the annotated tags, use any tag found in refs/tags namespace. This option enables matching a lightweight (non-annotated) tag. .

Mi pregunta es: ¿qué hace que las tags aparezcan diferentes dependiendo de qué twig presiono?

Git describe da información sobre un compromiso específico, y todo lo demás (es decir, label) es relativo a ese compromiso. No informará las tags que no existen en el ancestro de ese compromiso. Debido a que las twigs tienen ancestros diferentes, describir las confirmaciones en diferentes twigs puede arrojar resultados diferentes.

De la documentation (énfasis mío):

El command encuentra la label más reciente a la que se puede acceder desde una confirmación .