我在使用maven发行版插件时遇到了git标签的问题。在mvn release:perform
我们已经关闭了自动推到git的,下面做是为了建立一个新的版本:git中丢失的标签
- 拉从远程混帐回购协议的最新变化。
mvn release:prepare
mvn release:perform
git push origin master
git push --tags
这个场景的作品,提交的标签,一切都很好。但是,在这种情况下,标签丢失:
- 从远程git仓库中取出最新的更改。
mvn release:prepare
- 有人推动主人的承诺!
mvn release:perform
git push origin master
- 不工作,因为新的承诺是,这样git pull --rebase origin master
git push origin master
git push --tags
的Git指出,新的标签已经被推,但它们不适用于我以外的其他任何人(制作版本),使用gitk
时也不可见,因此在所有实际应用中,t他的标签丢失了。
这是git中的错误,还是它是一个使用错误(我们的责任是确保在构建时没有提交)?
有没有什么办法可以避免这种情况发生:一旦有人在发布阶段推送了一个提交到主服务器?或者正在向所有人发送电子邮件,警告他们不要推动任何事情来做到这一点? – Tobb 2013-03-11 14:13:34
根据我编辑的答案,我建议不要使用主分支来标记发布,至少如果有几个人可以推送它。我不使用Maven,所以不能真正说出如何在当前的计划中解决此问题。您可以在本地删除标签,并在重新绑定后重新运行Maven命令? – Ben 2013-03-11 14:27:35