【问题标题】:Cannot delete a git tag in the remote无法删除远程中的 git 标签
【发布时间】:2016-12-14 07:10:59
【问题描述】:

我正在尝试删除遥控器中的标签。我得到相互矛盾的答案——“标签不存在”然后“标签被删除”,但是当我检查时,标签仍然存在。这里有一个类似的问题(meaning of git push tag error: "Deleting a non-existent ref."),但对我来说没有帮助。 谢谢

% git --version 
git version 2.11.0
% git ls-remote 2>/dev/null | grep amirk|grep '\.72$'
68a1595db91fca0cc1fa24566e9e7173fcd05c5e    refs/tags/Forked_branch_amirk/test-10.0.0.72
% git push origin :refs/tags/Forked_Branch_amirk/test-10.0.0.72 
remote: warning: Deleting a non-existent ref.
To <my-remote-git-repo>
- [deleted]               Forked_Branch_amirk/test-10.0.0.72
% git ls-remote 2>/dev/null | grep amirk|grep '\.72$'            
68a1595db91fca0cc1fa24566e9e7173fcd05c5e    refs/tags/Forked_branch_amirk/test-10.0.0.72

【问题讨论】:

    标签: git git-tag


    【解决方案1】:

    “删除不存在的引用”表示它不存在,但git ls-remote 输出表示它存在。此时两个明显的选择是:

    • 标签 那里,但拼写与它看起来的不同,例如,分支名称中有一些不可见的字符,或者
    • push 不会与 ls-remote 转到同一台服务器,例如,您定义了单独的 fetch 和 push URL,或者您当前的分支具有origin 以外的远程设置。

    后者似乎更有可能。要检查,运行git config --get branch.$(git symbolic-ref --short HEAD).remote,以确保当前分支的远程确实是origin;如果是这样,请运行 git remote show origingit remote show -n origin

    【讨论】:

    • 我检查了选项 1,拼写很好。但是,我忘了提及(这可能会更清楚地说明问题),对于我推送的每个标签,我都会看到另一个这样的标签(带有向上箭头和打开/关闭花括号):1629064fcf60677bedaa3278e742d3964b887de9 refs/tags/Forked_branch_amirk/ test-10.0.0.72^{}
    • 检查选项 2 及其来源。另一个数据点 - 我在另一个 Linux(它有一个旧的 git 版本,2.7.4)上尝试了它,并且能够成功地从远程删除标签(它还使用 ^{} 删除标签)。我还验证了我的 ~/.gitconfig 文件不是问题,所以可能是 git 2.11.0 中的错误?
    • ^{}这个东西表示标签是一个注解标签,第一个值(不带后缀)是标签对象的hash,第二个值作为标记事物的哈希(通常是提交)。所以那部分是正常的。仅 Git 2.11.0 删除失败的事实确实暗示了 Git 2.11.0 中的错误。我刚刚升级了我的 Mac 并获得了 2.11.0,我在我通常使用的机器上运行 2.10.1,所以我还没有使用 2.11.0 的经验。
    【解决方案2】:

    目前还不清楚为什么标准语法(git push origin :refs/tags/tagname)在我的系统上不起作用。 但这里有另一种可行的语法:

    git push --delete origin Forked_branch_amirk/test-10.0.0.36
    

    【讨论】:

    • 根据stackoverflow.com/users/1256452/torek(谁提供了有用的输入)和我的测试,这似乎是 git 2.11.0 中的一个错误。它发生在 Ubuntu 14.04 上,但也可能发生在其他操作系统上。
    猜你喜欢
    • 1970-01-01
    • 2021-11-11
    • 2013-01-07
    • 2015-09-26
    • 2018-10-21
    • 2018-01-30
    • 2011-07-25
    • 2012-08-25
    • 2010-12-22
    相关资源
    最近更新 更多