使用竹子时重新标记后,Git 标签链接到旧提交
Posted
技术标签:
【中文标题】使用竹子时重新标记后,Git 标签链接到旧提交【英文标题】:Git label linked to old commit after relabel when using bamboo 【发布时间】:2019-10-04 23:57:12 【问题描述】:我在使用标签签出提交时遇到问题。
我已经提交并标记了提交1.0
。我不得不做一些变基,最终改变了我历史上的一些提交,这导致我需要在新提交上重新标记 1.0
标记。当我使用git checkout 1.0
手动签出标签时,新的提交被签出并且效果很好。有一种情况是检查标签最终指向旧的提交......这种情况是当我使用 python 脚本执行 git checkout 并且我从 Bamboo Atlassian Job 调用脚本时。
有谁知道是什么原因导致历史记录不更新?请注意,竹子作业每次都会清理它的环境。
【问题讨论】:
【参考方案1】:一种可能是您刚刚在本地移动了 not deleted/push back the tag。
git push origin :refs/tags/<tagname>
git tag -fa <tagname>
git push origin master --tags
如果推送,Bamboo 作业将能够获取并检查 1.0
标记的正确提交。
OP tyleax 加上in the comments:
我需要再做一步。
Bamboo 远程代理缓存 git 存储库信息。我必须在下次结帐时删除
xml-data/build-dir/_git-repositories-cache
中的缓存,它才能通过标签签出正确的提交。 没有删除,它仍然指向旧的提交
【讨论】:
谢谢!这对我帮助最大。我需要再做一步。 Bamboo 远程代理缓存 git 存储库信息。我必须在下次结帐时删除xml-data/build-dir/_git-repositories-cache
中的缓存,它才能通过标签签出正确的提交。没有删除,它仍然指向旧的提交。
@tyleax 感谢您的反馈。我已将您的评论包含在答案中以提高知名度。以上是关于使用竹子时重新标记后,Git 标签链接到旧提交的主要内容,如果未能解决你的问题,请参考以下文章
如何在运行 Azure 管道时使用标记在提交时获取 git 分支?