使用 Maven 发布插件时,我遇到了 git 标签的问题。我们已经关闭了期间自动推送到 gitmvn release:perform
的功能,为了构建一个新版本,我们做了以下工作:
- 从远程 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
,因此在所有实际使用中,标签都丢失了。
这是 git 中的错误,还是使用错误(确保构建时没有提交是我们的责任)?