Git标签&分行

时间:2013-05-01 12:34:07

标签: git

我有两个分支大师和开发。我的想法是我在开发分支上工作,只有当版本号从v1.0升级到v1.1时合并更改。我将修补程序应用于主分支仅用于处理错误。

每次碰撞版本时,我都会将开发合并为master和tag master,并增加点数。

我知道我可以使用

切换回标签
git reset --hard v1.0

哪个效果很好。但是,在我需要将修补程序应用于主分支的情况下,您认为最好转移到该提交,然后从该分支进行分支,然后合并回到重新标记到v1.01并重新推送。

这意味着可以在v1.01再次部署代码,使v1.0标记保持不变吗?

1 个答案:

答案 0 :(得分: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

如果master是v1.0而新的次要版本是v1.0.1那么第一个标签包含bug,而后者不再包含它。

只要您不打算主动支持多个版本(如1. *分支和2. *分支),您就不需要任何更多分支,一切都很好。 :)