2010-04-28 41 views
6

在Git中使用maven-release-plugin時,mvn release:prepare會在本地資源庫中快速標記發行版。我希望mvn發佈:執行將標籤推送到遠程存儲庫,但這並不是似乎發生。maven-release-plugin是否將標籤推送到遠程Git存儲庫?

我誤解了嗎?

如果沒有,是否有一個選項可以將發佈標籤推送到遠程存儲庫?

+0

您的Git服務器是否允許推送標籤? 在Gerrit服務器上,當Jenkins用戶標識與用於推送的用戶標識不同時,我需要「Forge Committer」權限。 – Andre 2015-06-02 19:48:12

+0

有趣的問題,但5年我不記得了! – Armand 2015-06-03 09:31:23

回答

6

對於我來說,release-prepare似乎推三次:

  1. 承諾更新到新的發行版的POM,它的運行git push不帶參數後,推動該承諾。
  2. 標記後,它運行git push origin <tagname>,這應該推動標籤。
  3. 提交POM更新爲新的快照版本後,它將運行git push,並且不再有參數。

鑑於它明確指定origin的標籤推,它可能只是成功地推動了標籤,如果你的混帳遠程別名實際上是所謂origin。 要查看你的電話號碼,請運行git remote -v

還要注意,沒有參數的git push可能會默認爲origin以外的其他值,具體取決於您的存儲庫配置 - 即它可能試圖將提交推送到一個位置並將其提交到另一個位置。在這裏看看這些默認值來自哪裏: http://www.kernel.org/pub/software/scm/git/docs/git-push.html#REMOTES

+1

感謝您的詳細回覆。這種行爲似乎不一致,對我毫無幫助。我錯過了什麼嗎? – Armand 2010-05-18 16:37:52

+3

我同意不應該在'relese:prepare'期間推送它。發生在我身上的是'release:prepare'工作正常,但'release:perform'失敗,因爲pom文件中的'scm' eddres是錯誤的。所以我實際上用一個「pom.xml」標記了一個構建。國際海事組織考慮到git的分佈式特性,在這個過程的最後階段推進會更有意義。我錯了嗎? – 2011-03-07 14:16:43

相關問題