Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Git/Bitbucket管道-是什么导致标记根据我推送到的分支而不同?_Git_Bitbucket_Git Tag_Bitbucket Pipelines_Git Describe - Fatal编程技术网

Git/Bitbucket管道-是什么导致标记根据我推送到的分支而不同?

Git/Bitbucket管道-是什么导致标记根据我推送到的分支而不同?,git,bitbucket,git-tag,bitbucket-pipelines,git-describe,Git,Bitbucket,Git Tag,Bitbucket Pipelines,Git Describe,我试图理解为什么在运行我的bitbucket-pipelines.yml文件时,会得到两个与git标记相关的不同结果。目前,我的项目的标签运行于1.0.0-1.0.25。.yml文件如下所示 pipelines: branches: diff-test: - step: script: - export PREVIOUS_GIT_HASH=`git rev-list --tags --skip=2 --max-count=1`

我试图理解为什么在运行我的bitbucket-pipelines.yml文件时,会得到两个与git标记相关的不同结果。目前,我的项目的标签运行于
1.0.0-1.0.25
。.yml文件如下所示

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"
当我推到master时,附加到下载工件的标记是正确的(1.0.25)。但是,当我按下
diff-test
时,回显的标签是
1.0.14
1.0.15

在git文档中,它为
描述
,它说
--tags:不要只使用带注释的标记,而是使用在refs/tags名称空间中找到的任何标记。此选项允许匹配轻量级(无注释)标记。


我的问题是-是什么原因导致标记根据我推到的分支而不同?

Git Descripte提供了有关特定提交的信息,其他所有内容(即标记)都与该提交相关。它不会报告该提交的祖先中不存在的标记。因为分支有不同的祖先,在不同的分支中描述提交可能会产生不同的结果

来自(我的):

该命令查找可从提交中访问的最新标记


非常感谢。好的-这意味着它实际上表现得“正确”,只是没有按照我预期的方式。因此,如果我理解正确,如果我对主分支应用相同的技术,它将返回
1.0.24 1.0.25
,因为它们与该分支相关。