我标记了一个提交,然后将标记推送到原点。后来我更改了使用 标记的提交git tag -f
,并再次将标记推送到原点。然而,原点仍然有指向初始提交的标签。
我怎样才能让两者再次同步?
当你标记了一个错误的提交并且你想重新标记时你应该怎么做?
如果你从来没有推出任何东西,只需重新标记它。使用“-f”替换旧的。你完成了。
但是,如果您已经推出了一些东西(或者其他人可以直接读取您的存储库),那么其他人将已经看到旧标签。在这种情况下,您可以执行以下两项操作之一:
正经的事。承认你搞砸了,并使用不同的名字。别人已经看到一个tag-name,如果保持相同的名字,你可能会出现两个人都有“版本X”的情况,但他们实际上有不同的“X”。因此,只需将其称为“X.1”并完成它。
疯狂的事情。即使其他人已经看过旧版本,您也确实想将新版本称为“ X”。因此,只需再次使用 git tag -f ,就好像您还没有发布旧版本一样。
您可以在git-tag 手册页的“关于重新标记”部分找到此信息(以及更多信息)。
git push --tags -f
标签不会被更改。因此,如果你真的想要它,你必须在本地(git tag -f
)和推送时强制这样做。如果你发现自己经常这样做,你应该考虑使用分支来代替,它们是为改变而生的。