我有一个主分支。这是生产代码。
每个“修补程序”都必须从此分支开始
我有一个开发分支。这是“下一个稳定版本”代码。
每个新功能都必须从此分支开始,并且仅与此分支 merge 。
今天我犯了一个错误:我从开发中分支出来进行修补程序。
现在我确实需要对 master 分支应用相同的修改,但我无法 merge 新的修补程序分支,因为这将发布开发中已经存在的每个新功能。
有没有办法...抱歉说得不好...从开发和修补程序中获取差异并将此修改应用到master?
这可能就是所谓的“创建补丁”吗?
最佳答案
如果您只处理少量提交,那么您可以
cherrypick
您的提交到其他分支git checkout master_branch
现在,识别添加到
development_branch
的提交并使用这些新提交的 SHA(提交 ID),只需挑选提交:git cherry-pick <SHA>
如果您正在处理大量提交,并且可以不保留原始提交消息,那么您可以遵循差异补丁方法:
git diff master_branch..development_branch > patch git checkout master_branch git apply --check fix_empty_poster.patch // dry run your patch git am --signoff < patch
关于Git:如何将相同的修改应用到另一个分支?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22400229/