使用Git代码 - 无法提取新代码

时间:2016-02-29 02:59:31

标签: git bitbucket

我们有2个人试图在bitbucket上使用git。开发人员使用简单的标签来跟踪所有提交 - 而QA人员正试图根据标签提取新代码。

所以开发人员决定

git commit -v -am "($date) $comments"
git tag -a version-1 -m "($date) $comments"
git push --tags

QA家伙做了

  git clone <path> ; cd $dir
  git checkout tags/version-1

这是第一次需要 - 但第二次 - 更新标记 - 它会给出错误消息。

QA第一次

  • 使用消息

    检出成功

    注意:签出&#39;标签/版本-1&#39;。

    You are in 'detached HEAD' state. You can look around, make experimental
    changes and commit them, and you can discard any commits you make in this
    state without impacting any branches by performing another checkout.
    
    If you want to create a new branch to retain commits you create, you may
    do so (now or later) by using -b with the checkout command again. Example:
    
      git checkout -b <new-branch-name>
    
    HEAD is now at 0c3514c... (02-28-2016) test comments
    
然后开发人员做了他的改变然后做了

 git commit -v -am "($date) $comments"
 git tag -a version-2 -m "($date) $comments"
 git push --tags

它经历了 - 我们可以看到repo上的新标签 - 有变化。

QA人做了他的改变

 git checkout tags/version-2

错误讯息是

error: pathspec 'tags/version-2' did not match any file(s) known to git.

但是

如果质量保证

  git clone <path> ; cd $dir
  git checkout tags/version-2

它工作正常!!!质量保证人员怎么能用开发人员正在检查的新标签更新同一个git导演?

2 个答案:

答案 0 :(得分:3)

好的 - 在浏览堆栈上的其他链接时找到了答案。

首先通过

确保标签存在于本地
git fetch --tags

然后通过运行

签出标签
git checkout tags/<tag_name>

感谢Git - Checkout a remote tag when two remotes have the same tag name(第二个回答)

答案 1 :(得分:0)

使用git fetch从远程仓库获取新标签。