作者热门文章
- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我有一个主分支。这是生产代码。
每个“修补程序”都必须从这个分支开始
我有一个开发分支。这是“下一个稳定版”代码。
每个新功能都必须从这个分支开始,并且只与这个分支 merge 。
今天我犯了一个错误:我从开发中分支出来进行修补。
现在我确实需要对 master 分支应用相同的修改,但我无法 merge 新的修补程序分支,因为这将发布已在开发中的所有新功能。
有没有办法......对不起坏话......从开发和修补程序中获得差异并将此修改应用到母版?
这大概就是所谓的“打补丁”吧?
最佳答案
如果您只处理少量提交,那么您可以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/
我是一名优秀的程序员,十分优秀!