将新提交添加到现有Git标记

PVH*_*PVH 25 git github git-svn git-tag git-branch

我创建了一个Git标签作为v1.1使用

git tag -a v1.1 -m 'my version 1.1'
Run Code Online (Sandbox Code Playgroud)

我推了那个标签.后来,我做了一些相关的改动v1.1.现在,当我推送新的更改并使用git describe它检查git标签 时显示我v1.1-g2dcc97.

如何将新提交添加到现有标记?

Chr*_*ris 33

在不破坏重要的Git准则的情况下,您不能将新提交放入现有标记:从不(*)修改已发布的提交.

Git中的标签并不是可变的.将标签推出后,请不要管它.

但是,您可以添加一些更改v1.1并发布类似v1.1.1或更新的内容v1.2.这样做的一种方法是

# Create a new branch from tag v1.1
git checkout -b newbranch v1.1

# Do some work and commit it

# Create a new tag from your work
git tag -a -m "Tag version 1.1.1, a bugfix release" v1.1.1
Run Code Online (Sandbox Code Playgroud)

(*)除非你有非常特殊的理由这样做,并且只有你完全理解其含义,即便如此,也不要养成习惯.

  • 然后`git push origin --tags`(如果推到`origin`),将更改推送到你的原点遥控器. (8认同)

pap*_*gee 5

如果您绝对需要“移动”标签而不是创建新标签,则可以执行以下操作:

注意:正如@Chris所说,请确保您有充分的理由不想创建新标签,因为最佳实践是创建一个新标签

1.签出标签(分离的头)

git checkout tag/v1.1

2.创建并签出该标签的分支(即分支该标签)

git checkout -b my-tagged-branch

*** do work and commit changes ***

3.推到远程分支。

git push  -u origin my-tagged-branch
Run Code Online (Sandbox Code Playgroud)

如果需要,将分支合并到需要更改的其他分支中(例如,在修复错误的情况下)

4.仍然打开时my-tagged-branch,删除标签

git tag -d v1.1

5.再次创建标签:这将“移动”标签以指向该分支上的最新提交

git tag v1.1

6.删除遥控器上的标签

git push origin :v1.1

7.在远程上创建标签

git push origin v1.1