我们有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导演?
答案 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
从远程仓库获取新标签。