对于修补程序和补丁等

时间:2017-06-02 17:19:38

标签: git version-control rebase

在工作中,我们使用develop分支进行日常工作 - 新功能,错误修复等。当我们准备发布时,我们将devleop分支合并为master,tag和release。

如果我们需要做一个需要立即发布的修补程序,我们会在master之外创建一个分支,应用更改并相应地合并(包括将master合并回develop )。到目前为止我所描述的内容没有任何问题。

我最近刚刚处理了一个小错误修复程序,它将包含在下一个版本中。因此创建了develop的常用分支,进行了一些提交,并提交了PR。然后经理希望今天的修复程序作为修补程序。好的 - 很简单,我只是将我的工作重新对抗master并打开PR对抗主人。但是,运行git rebase master没有重放我的工作,反对master上的当前HEAD提交。相反,git告诉我,一切都是“最新的”。然后我打开PR对抗主人,我的PR包含来自develop分支的所有新作品,而不仅仅是我的错误修复。

我能够做一个交互式的rebase并删除所有不应该存在的提交,但这看起来有点乏味且容易出错。有没有更明智的方法来实现对旧的最新分支进行重新定位的目标?

1 个答案:

答案 0 :(得分:1)

而不是根据您使用的命令“反对master”(即“master作为上游”),您需要将上游设置为“{1}}”。 --onto master

develop

请记住,这会创建一个新的未经测试的代码状态;由于热修复可以快速跟踪生产,因此需要特别注意测试它。

相关问题