我有两个分支大师和开发。我的想法是我在开发分支上工作,只有当版本号从v1.0升级到v1.1时合并更改。我将修补程序应用于主分支仅用于处理错误。
每次碰撞版本时,我都会将开发合并为master和tag master,并增加点数。
我知道我可以使用
切换回标签git reset --hard v1.0
哪个效果很好。但是,在我需要将修补程序应用于主分支的情况下,您认为最好转移到该提交,然后从该分支进行分支,然后合并回到重新标记到v1.01并重新推送。
这意味着可以在v1.01再次部署代码,使v1.0标记保持不变吗?
答案 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. *分支),您就不需要任何更多分支,一切都很好。 :)