从另一个分支应用补丁的*正确*方法是什么?

8

我在一个分支中进行了修复并希望将其应用到另一个分支。以下是我一直在做的事情:

git diff 68610d^ 68610d | git apply
git commit -a -m "SV-656  IP blocking not working  (applying patch from 68610d)"

这段代码完美运行,但是我觉得它并不像是Git的风格。特别是我实际上所做的事情只有通过注释才能看出来。这是一项非常基本的活动,我认为Git不会忽略它。

编辑:这是“cherry-pick”的功能吗?


2
这正是 git cherry-pick 的用途:http://gitready.com/intermediate/2009/03/04/pick-out-individual-commits.html - wkl
1个回答

11

正确的方法应该是:

git cherry-pick 68610d

如果你真的想修改提交消息:

git cherry-pick --no-commit 68610d
git commit -m "SV-656  IP blocking not working  (applying patch from 68610d)"

当然,您也可以通过挑选并修改来更改消息!(这样可以避免您需要提前考虑。) - Cascabel
@Jefromi:确实如此。但这会导致垃圾(即无法访问的提交)混杂在reflog中。此外,它也不再与此问题有关了。尽管如此,我还是给你的评论点赞作为一个好的“评论”。 - sehe

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接