2013-05-01 118 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 *分支),你不需要更多的分支,一切都很好。 :)