【发布时间】:2017-03-16 11:08:31
【问题描述】:
就是这样:
我用git tag显示我的标签
但是不能删除其中一个,这是我的仓库中的最后一个标签,我想用最新的提交重新创建它。
上面写着:
错误:标签...未找到。
我看到它在列表中,但当我尝试删除它时找不到它。我可能做错了什么?
【问题讨论】:
就是这样:
我用git tag显示我的标签
但是不能删除其中一个,这是我的仓库中的最后一个标签,我想用最新的提交重新创建它。
上面写着:
错误:标签...未找到。
我看到它在列表中,但当我尝试删除它时找不到它。我可能做错了什么?
【问题讨论】:
检查这里是否需要单引号:
git tag -d -- Retrofit2_Hatakontrolu
注意使用the double hyphen syntax '--' 以便将命令与其参数分开。
此外,标签名称中的 check 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\'
【讨论】:
我刚刚也做了一些噩梦,删除了 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
祝你好运。
【讨论】: