簡體   English   中英

在Git中管理多項目分支

[英]Managing Multi-Project Branches in Git

是否有工具在Maven項目/ SCM場景中實現以下抽象操作?

  • 給定應用程序項目,為應用程序及其使用的所有快照庫創建分支,可傳遞; 這些分支應該是可管理的一個邏輯分支(見下)
  • 給定應用程序項目的邏輯分支,釋放它(通過運行Maven發布); 這意味着釋放多個分支,每個庫一個

背景(原創):

如您所知,Git建議使用每個項目的存儲庫結構范例。 與此同時,在我們的Maven案例中,任何嚴肅的項目都附屬於幾個內部圖書館。 在任何sprint期間,項目和它所附加的庫都會被修改。 在Git世界中,這意味着將在多個Git存儲庫中存在修改。

如果我們想在sprint中分支出來的工作,也許是因為我們使用Gitflow,它邀請我們在sprint結束時創建一個發布分支,我們將如何在sprint中涉及的所有庫中以邏輯方式執行它而不是手動分支每個庫?

Maven感知工具(可以反省POM以找出傳遞快照依賴列表的工具)會更好。

我可以在代表我的一個邏輯分支的多個物理分支(每個項目一個)之間創建邏輯關系嗎?

Git或Git工具是否支持邏輯分支?

我希望你不要說子模塊。 我在這里尋找的是抽象出VCS的細節,而不是成為Git大師。 此外,我希望盡可能在一個操作中執行操作,因為必須單獨分支每個庫容易出錯且容易被遺忘。

設置Jenkins服務器。

它可以將每個maven模塊構建為單獨的項目,然后自動重建具有快照依賴關系的任何其他項目。

更新

Jenkins的GIT插件具有管理開發功能分支自動合並為“主”或“集成”分支的功能。 查看文檔:

https://wiki.jenkins-ci.org/display/JENKINS/Git+Plugin#GitPlugin-AdvancedFeatures

另一種選擇是使用像Gerrit這樣的代碼審查工具來控制功能開發。 同樣,Gerrit控制集成到共享代碼流中的更改,Gerrit可以與Jenkins集成,以確保所有提交的更改集都通過代碼測試。

最后,使用M2 Release插件剪切版本 ,這是標准版本插件的包裝。 (意味着你在Jenkins中總會有兩種類型的構建。由代碼提交觸發的自動構建和通過UI顯式觸發的發布構建)。

看看我發現了尋找Gitflow的其他東西: https//github.com/nvie/gitflow

它不適用於Maven,因此它不符合我的需求,但也許它可以幫助你。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM