如何在更改指向的提交后正确推送标记?

时间:2013-09-18 11:53:41

标签: git

我已经标记了提交,然后将标记推送到原点。后来我改变了使用git tag -f标记的提交,并再次将标记推送到原点。但是,原点仍然有标记指向初始提交。

如何让两人重新同步?

2 个答案:

答案 0 :(得分:2)

  

当您标记错误的提交并且您希望时,您应该怎么做   重新标记?

     

如果您从未推过任何东西,只需重新标记即可。使用“-f”替换   旧的。你已经完成了。

     

但是,如果你把事情推了出去(或者其他人可以读你的话   存储库直接),然后其他人将已经看到旧标签。   在这种情况下,您可以执行以下两项操作之一:

     

理智的事情。只是承认你搞砸了,并使用不同的名字。其他人已经看过一个标签名称,如果你保持不变   名字,你可能会遇到两个人都有“版本”的情况   X“,但它们实际上有不同的”X“。所以只需称它为”X.1“和   完成它。

     

疯狂的事情。你真的想把新版本称为“X”,即使其他人已经看过旧版本。所以只需使用git标签   -f再次,好像你还没有发表过旧版本。

您可以在git-tag manual page, section "On Re-tagging"

中找到此信息(以及其他信息)

答案 1 :(得分:0)

git push --tags -f

不会更改标签。因此,如果你真的想要它,你必须在本地(git tag -f)和推动时强制它。如果你发现自己做了很多,你应该考虑使用分支代替它们,它们是为了改变而做的。