【问题标题】:How to delete the mistakenly case-changed renamed tag in github?如何删除github中错误大小写更改的重命名标签?
【发布时间】:2014-12-29 11:15:40
【问题描述】:

我的 Github 存储库中有一个标签 v1.0.0-RC1。我想将其重命名为全小写,例如 v1.0.0-rc1。 所以,我是从发布编辑页面https://github.com/username/repo/releases/edit/v1.0.0-RC1 完成的。 我发现它创建了一个新标签 v1.0.0-rc1,它让我有两个重复的标签 v1.0.0-RC1v1.0.0-rc1 在我的仓库中。

以下是我的 Github 标签页面如何显示最新的 5 个标签。最新的标签是 v1.1.0-rc。 第二个 v1.1.0-rc1 是我弄错的标签。最后一个标签是我要重命名的标签。

v1.1.0-rc …
 84da1ca   zip   tar.gz   Notes   Downloads

v1.0.0-rc1 …
Merge branch 'minor'
 2823515   zip   tar.gz

v1.1.0-beta …
 94d9821   zip   tar.gz   Notes   Downloads

v1.0.0 …
 0c052f5   zip   tar.gz   Notes   Downloads

v1.0.0-RC1 …
 1955b7a   zip   tar.gz   Notes   Downloads

这是git fetch的结果。

$ git fetch --all
Fetching origin
From https://github.com/username/repo
 * [new tag]         v1.0.0-rc1 -> v1.0.0-rc1
 * [new tag]         v1.1.0-rc  -> v1.1.0-rc
From https://github.com/username/repo
 * [new tag]         v1.0.0-RC1 -> v1.0.0-RC1

我想删除 v1.0.0-rc1。我知道如何删除远程标签。

git tag -d v1.0.0-rc1
git push origin :refs/tags/v1.0.0-rc1

但我担心它会删除标签 rc1RC1。我怎样才能安全地做到这一点?我使用的是Git for Windows,它可能不区分大小写。

【问题讨论】:

    标签: windows git github git-tag


    【解决方案1】:

    但我担心它会删除标签 rc1 和 RC1。

    不应该:标签区分大小写。

    我怎样才能安全地做到这一点?

    如果您真的想安全起见(并使用不区分大小写的操作系统),您可以在删除之前rename your tag locally
    你不需要在 GitHub 端做同样的事情(这确实尊重案例)

    【讨论】:

    • 如果我在本地重命名我的标签,例如 v1.0.0-RC1 到别的东西,它真的会继续标记它的提交吗?我想要做的是 - (1) 将 v1.0.0-RC1 重命名为 v1.0.0-tmp (2) 删除 v1.0.0-rc1 (3) 将 v1.0.0-tmp 重命名为 v1.0.0-RC1 (4) git push --tags。我可以在不破坏每个标签的当前提交引用的情况下安全地做到这一点吗?
    • 是的,一个标签在重命名时总是引用同一个提交。
    • 不幸的是,标记名称在 Windows git bash 中不区分大小写。 git tag -d v1.0.0-rc1 确实删除了 v1.0.0-RC1
    • @Sithu 好的,因此建议先重命名。
    • @Sithu 请注意,错误删除的任何内容仍会在git reflog (git-scm.com/docs/git-reflog) 中引用,因此恢复不正确的删除仍然简单而准确。
    猜你喜欢
    • 1970-01-01
    • 2014-10-31
    • 2021-08-04
    • 1970-01-01
    • 2014-02-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多