Git:如何使现有的git轻量级标记指向另一个提交?

时间:2012-03-18 04:50:45

标签: git git-tag

在测试Git存储库上,git log产生:

commit e1f972f22f9906ad62007b4e372d8dc06bc47656
Author: davidandreoletti
Date:   Sun Mar 18 11:23:09 2012 +0800
   Added 0

commit 81a07eeffc58b054d4c083a0d7c1d4aa0b0440d5
Author: davidandreoletti
Date:   Sun Mar 18 10:46:44 2012 +0800

   first commit

git tag 0.0.2是一个指向commit 81a07eeffc58b054d4c083a0d7c1d4aa0b0440d5的轻量级标记。所有提交都已被推送到远程存储库(包括标签)。

在这种情况下,如何让现有的Git“轻量级标记”指向另一个提交?即我希望标记“0.0.2”指向提交e1f972f22f9906ad62007b4e372d8dc06bc47656而不是81a07eeffc58b054d4c083a0d7c1d4aa0b0440d5

2 个答案:

答案 0 :(得分:5)

只需转储旧标记并创建一个新标记

git tag -d 0.0.2
git tag 0.0.2 e1f97...

假设您有一个可以使用的远程存储库,您还需要:

git push --tag --force <remote>

答案 1 :(得分:1)

一般来说,你不应该这样做。然而,Git将会试图阻止你,但

git tag -d 0.0.2
git tag 0.0.2  e1f972f22f9906ad62007b4e372d8dc06bc47656

如果没有按下它应该有用。