git - 在git中,如何撤消本地删除未推送的注释标签?
问题描述
我不小心在本地删除了一个我不打算删除的带注释的标签。我还没有将标签的删除推送到遥控器。我想撤消这个错误。
$ git tag -n999
v1.0.0 Initial release
$ git tag -d v1.0.0
Deleted tag 'v1.0.0' (was 1a2b3c4)
我已经在网上和 Stack Overflow 上搜索过,试图找到解决方案。尽管这个动作看起来很简单,但我没有找到解决方案的运气。
如何撤消本地标签删除,将标签恢复到删除之前的状态?
解决方案
仅供参考,在回答这个问题之前我从未这样做过。
但在谷歌搜索你的问题后,我发现了这篇文章:
https://dzone.com/articles/git-tip-restore-deleted-tag
我测试了它的建议,它对我有用。
总之:
使用它来获取已删除的带注释标签对象的列表:
git fsck --unreachable | grep tag
# if don't have grep because you're on windows, you can use this:
git fsck --unreachable | sls tag
使用它来检查上一个命令的结果:
git show KEY
使用它来恢复标签:
git update-ref refs/tags/NAME KEY
推荐阅读
- django - 我正在尝试在我的 django 项目中导入 gensim、pandas 和 numpy,但出现导入错误
- java - 如何修复 org.hibernate.MappingException 取消映射类
- php - Netbeans IDE 上的 PHP 7.3
- sql - SQL 聚合多个表中的数据并对指定列求和
- node.js - 如何将文本保存到语音音频文件客户端?
- bash - What is the best way to implement log rotation? (Node application)
- c++ - 是否可以动态地将函数分配给函数指针?
- angular - 当页面不活动时,RxJS 6 暂停或缓冲可观察
- javascript - How to get the value of a datepicker using framework7 and vuejs?
- plugins - How to return the key value from a checkbox list field which automatically updates another field