显示Git标签但我无法删除其中一个

时间:2016-11-03 00:03:43

标签: git git-tag

它是:

enter image description here

我使用git tag

显示我的代码

然而,不能删除其中一个,这是我的仓库中的最后一个标记,我想用最新的提交重新创建它。

它说:

错误:标签...未找到。

我在列表中看到它但在我尝试删除时却找不到它。我可能做错了什么?

2 个答案:

答案 0 :(得分:2)

检查是否需要单引号:

git tag -d -- Retrofit2_Hatakontrolu

请注意使用the double hyphen syntax '--'将命令与其参数分开。

此外,标签名称中的c heck for the presence of special characters,在Linux(Git)bash中。

export LESS="-CQaix4r"
git tag|less

如果单引号是标记名称的一部分,请尝试:

git tag -d -- 'Retrofit2_Hatakontrolu'
# or (escaping single quotes):
git tag -d -- \'Retrofit2_Hatakontrolu\'

答案 1 :(得分:0)

我也遇到了一些噩梦,那就是删除bitbucket ci管道创建的git标签。

名字是

master-release-"1.0.1"-build-15

并且偶然包含引号。

由于某些原因,bitbucket git在执行时会接受标签名称中的特殊字符

readonly VERSION="$(jq '.version' version.json)"
git tag -a master-release-${VERSION}-build-15 -m "some info"

是的,我知道问题出在哪里。我忘了拿原始输出 来自jq,)

不适用于我的东西。

本地:

git tag -d master-release-"1.0.1"-build-15
git tag -d -- master-release-"1.0.1"-build-15
git tag -d 'master-release-"1.0.1"-build-15'
git tag -d -- 'master-release-"1.0.1"-build-15'
git tag -d "master-release-\"1.0.1\"-build-15"
git tag -d -- "master-release-\"1.0.1\"-build-15"

远程

git push origin :refs/tags/[and different options]

对我有用的解决方案。

本地:

编辑的文件

/.git/packed-refs

并手动删除了两行(标签在另一行下有两行)

f7e37ce5c22d2bf72b8962a93444b45277cab8fd refs/tags/master-release-"1.0.1"-build-15
^d7e57222e548949a74c84af48a0fac6779425e72

和刚刚消失的语言环境:)

远程

VARIABLE="\"1.0.1\""
git push origin :refs/tags/master-release-${VARIABLE}-build-15

祝你好运。