2013-05-01 117 views
0

我有兩個分支的主人&開發。這個想法是我在開發分支上工作,並且只有當版本號從V1.0版本被IE碰撞到v1.1時才合併更改。並且我只將修補程序應用於主分支。Git標籤與分支

每當一個版本被碰撞時,我將合併發展爲主版本和標籤主版本,並增加一個發佈版本。

我知道我可以切換回

git reset --hard v1.0 

偉大的工程的標籤。然而,在我需要將修補程序應用於主分支的情況下,您認爲最好將頭移動到該提交,然後再從其分支,然後重新合併到v1.01並重新推送。

含義代碼可以在v1.01再次部署,v1.0標籤仍然保持完好?

+0

你讀過http://nvie.com/posts/a-successful-git-branching-model/?順便說一句,使用'reset'是一個壞主意。 – kan 2013-05-01 12:39:08

+0

請更改您的長「然......」一句。這很難理解。 – michas 2013-05-01 13:16:01

+0

很難理解你的問題到底是什麼 – 2013-05-01 13:56:19

回答

2

兩個分支的設置聽起來非常好。

請注意,git reset --hard當前分支重置爲給定的提交,從而丟棄所有較新的提交。 - 這很可能不是你想要的。

對於主分支上的修補程序。您應該確保將標籤保留原樣,併爲固定代碼引入新的次要版本。

git checkout master 
#fix code 
git commit -am 'fixed bug' 
git tag $new_minor_version 
git checkout develop 
git merge master # optional, to apply the fix in develop, too 

如果主人爲v1.0和新的次要版本是V1.0.1,然後在第一標記中包含的bug,而後者不包含它了。

只要你不打算積極支持多個版本(如1 *分支和2 *分支),你不需要更多的分支,一切都很好。 :)