我的產品是IntelliJ的插件。我支持底層IntelliJ平臺的幾個版本,併爲每個版本發佈插件的版本,因爲它們的API經常在版本之間變化。這只是我的工作,所以我開發主人,然後爲其他版本維護一個分支。所以,我的回購協議是這樣的:從git中的分支中查找合併提交
1.6.0 1.6.1-eap1
.... a---b---c--- master
\ \
d-------e--- idea-2017.1
\ \
f-------g--- idea-2016.3
\ \
... ... etc etc
a
是一個穩定的版本,並已被標記爲1.6.0
。 c
是一個EAP(測試版)發行版,已被標記爲1.6.1-eap1
。這個方案適用於這兩種情況。
偶爾我想創建一個不會進入發佈頻道的開發版本,但用戶可以手動下載並測試,如果他們喜歡的話。我想爲每個平臺生成一個開發版本,因爲開發用戶可以使用任何IntelliJ版本。我能想到的最好的方法是從標記1.6.0
(承諾a
)創建一個分支,然後從提交d
,f
等提交對應的分支,我可以將開發分支合併到並創建dev建立於。
假設我想編寫一個腳本來創建和維護這些分支,我如何從標記1.6.0
中找到提交d
,f
等以創建dev構建分支?
難道你不想使用每個IntelliJ版本的最新版本作爲你的開發分支的基礎嗎?即使用c,e和g而不是a,d和f。我認爲那些包含每個版本的最新修補程序,並且是測試新開發的更好基礎。 – lucash
當然,這是可能的,但問題是相同的 - 給定標籤'1.6.1-eap1',我如何找到提交'e','g'等。基本上我想能夠創建來自任何標記版本的分支,這些分支保證將合併提交合併到每個版本分支中。 – Colin