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