2014-09-25 37 views
2

我有一個主分支(v1.0)和一個開發分支(v1.1dev)。我從dev製作了一個新的發行版分支,將版本號從v1.1dev修改爲v1.1,完成後,將發行版分支合併到master中,並且presto - v1.1誕生了。語義版本控制和混帳分支

但是然後我把同一個版本分支合併回dev,所以dev分支也是v1.1儘管技術上是真的,但我覺得它應該總是以dev結尾,因爲畢竟它始終是開發版本朝着下一個真正的版本努力。

所以我的問題是,每個人都只是在開發分支上合併單個提交,以便在發佈分支中合併後碰撞它們的Dec代碼的版本,或者存在我缺少的東西(腳本,方法,技術等)?上述說明是否代表人們如何碰撞他們的版本號碼?

TL; DR:什麼時候應該在假設語義版本化的git版本項目的各個分支中碰撞版本號?

+0

取決於。你如何實現版本號?從理論上講,版本號的簽出應該只包含版本號的代碼而不是版本爲++的代碼 – slebetman 2014-09-25 03:58:48

+0

那麼實際得到標籤的唯一分支就是主設備。但我的意思是項目文件中的版本號......你什麼時候更新它們?在合併版本之後在開發分支上,或者在合併到主版本之後但在合併到開發之前的版本分支上? – rhgrant10 2014-09-25 04:24:32

+1

項目文件中的版本號對開發人員來說毫無意義。它們只用於告訴客戶他正在運行的軟件版本。開發人員應始終參考標籤。如果結帳正好在標籤上,那麼他具有該版本號。如果它在標籤之前,那麼他的版本爲++。這是「版本」的唯一理解。否則,版本2.1的兩個人可能會有完全不同的代碼。 – slebetman 2014-09-25 05:01:01

回答

0

雖然這可能不是你的問題了,現在,你是正確的,當你說:

...它始終是正在向着下一個 真實版的開發版本..

當您分支代碼時,將分支版本保留在v1.0。這將成爲發行版分支,即進入該發行版的代碼庫,如果用戶無法升級到下一個完整版本,則必須修補或增強此版本。

您始終可以將來自該分支的更改合併回主,但顯然不是定義版本號的任何代碼,通常在配置,屬性或構建文件中。

分支後,將主版本升級到v1.1.x或v1.1-DEV或任何你喜歡稱之爲的版本。