7
我目前在使用git語義版本化方面遇到問題。語義版本化如何適用於git工作流程
我們使用git的版本模型在http://nvie.com/posts/a-successful-git-branching-model/
我們也想跟着在http://semver.org/
概括這裏的語義版本的指南是樣本使用案例我們。
Release branch: ----1----2----3----4 <- tag v1.2 ----7---8---9 <- tag v1.3
/ \ / \
Develop branch: --0--------5---------4--6-----------------------------9--
這是我們的樣品的用例:發生在釋放並行
- 發展自己,發展
- 版本已經準備就緒,我們將其標記爲V1.2。我們爲更改1,2,3,4生成發行說明。
- 我們將發佈合併發展。
- 當我們準備再次開發另一個版本的分支時,我們可以。然而,標籤v1.2指向4,因此如果我們查詢v1.2和v1.3之間的變化,5的發行註記實際上會丟失。
我們想要做的是能夠搜索所有新添加的簽名,因爲創建了標籤v1.2,新添加到標籤v1.3中,以便我們可以確定我們需要製作的組件的什麼樣的版本凹凸(xyz)。
如果5碰巧是一個重大改變,但是從v1.2開始,所有東西都不是,我們會錯誤地碰撞小版本,因爲checkin 5不在構建中。
有沒有人有任何建議如何解決這個問題?
如果我們使用git log v1.2..v1.3,那麼提交5將被排除在外,因爲開發的HEAD會在從版本v1.2合併到開發右側之後指向提交4。因此提交5將在提交4之前插入,因此,由於HEAD指向提交4,因此提交5基本上將被視爲「已覆蓋」。 – 2012-04-04 03:20:27
不,它確實不會被排除。你試過了嗎? 'v1.2..v1.3' for git的意思是「提交v1.3中的內容,不包括v1.2中的內容」,這意味着它將包含5. – svick 2012-04-04 09:05:44
我在樣本回購中試過了,你是對的。謝謝!我的困惑是,我正在考慮HEAD發佈v1.3標籤,而不是v1.2到v1.3。 – 2012-04-04 13:23:20