Git 更新标签而不创建新分支?

Git update tag without creating new branch?

我有一个标记 v1 设置为旧提交。这个版本有bug,我想更新一下。

我运行get checkout v1。我已经更新了代码来修复这个错误,然后 git-added 和 git-commited.

现在我想更新标签 v1 以引用这个新提交。

我试过了git push -f origin v1。这是行不通的。我收到以下回复:

Everything up-to-date

有办法实现吗?最好,我想避免创建一个新的 b运行ch,但是如果必须的话,我怎样才能避免污染 b运行ch 命名空间?之后我可以删除 b运行ch 吗?

标签通常用于查看特定版本的文件,文件一旦被标记就不会被更改,例如 1.0 版本,如果你想进行更改并在之后重新标记,

  1. 从您要更新的标签创建一个新分支,例如分支 a。
  2. 在新分支 a 上创建您的提交。
  3. 当您准备好用分支 a 替换标签时,删除您创建分支 a 的标签。
  4. 从分支 a
  5. 创建新标签
  6. 如果之后要删除分支a,则删除分支a。

我终于想出了一个不需要创建新分支即可工作的解决方案。

  1. git checkout tag_name

  2. 进行本地更改

  3. git add .git commit -m "commit message"

  4. git tag -fa tag_name

  5. git push -f origin master --tags