我的用例是:
然后我想将分支合并回master。如果我这样做,v1.0.1标签最终会在第2点的主服务器更改之后(正如您所期望的那样)。
我猜测答案是否定的,但无论如何都要将分支合并到提交中,以便我的1.0.1标记在v1.0之后和master中的其他更改之前附加到提交。实际上,我认为应该及时改变我的改变。
或者问题确实是我的工作流程,我应该在分支机构中对2进行更改,并且只在它们生效时将它们合并为主。
答案 0 :(得分:1)
标记是不可变的,因此您的问题更多地是关于提交的顺序。
您可以做的是在分支v1.0.1之上重新定义master
:
git checkout master
git rebase v1.0.1
这样,master
中的两个新变化会在V1.0.1
之上重播
如果您还没有发布master,则可以使用rebase将修补程序集成到当前分支中。
有关详情,请参阅“git rebase
vs git merge
”。
正如Graham在评论中指出的那样,如果master
上的更改已被推送,那么对其进行重新定位可能会给已经提取master
的同事带来麻烦。
请参阅“Rebasing and what does one mean by rebasing pushed commits”。
在这种情况下,它是:
next
”分支上进行更改V1.0.1
中合并master
(然后随时反映生产中正在运行的内容)next
合并master
(但如果next
需要补丁,那么是的,您将被迫在更改之后应用它,因为所述更改已经发布,即推送到远程仓库)