首页 > 解决方案 > 使用竹子时重新标记后,Git 标签链接到旧提交

问题描述

我在使用标签检查提交时遇到问题。

我做了一个 commit 并标记了 commit 1.0。我不得不做一些变基,最终改变了我历史上的一些提交,这导致我需要1.0在新提交上重新标记标签。当我手动签出使用git checkout 1.0新提交的标签时,它工作得很好。有一种情况是检查标签最终指向旧提交......这种情况是当我使用 python 脚本执行 git checkout 并且我从 Bamboo Atlassian Job 调用脚本时。

有谁知道是什么导致历史不更新?请注意,竹子作业每次都会清理它的环境。

标签: pythongitbamboo

解决方案


一种可能性是您没有删除/推回刚刚在本地移动的标签。

git push origin :refs/tags/<tagname>
git tag -fa <tagname>
git push origin master --tags

如果被推送,Bamboo 作业将能够获取然后签出1.0标签的正确提交。

OP tyleax在评论中添加:

我需要再做一步。

Bamboo 远程代理缓存 git 存储库信息。我不得不xml-data/build-dir/_git-repositories-cache在下一次结帐时删除缓存,它能够通过标签签出正确的提交。
没有删除,它仍然指向旧的提交


推荐阅读