Git:将提交的一部分应用到另一个分支
我怎样才能将一个分支的一部分提交到另一个分支? 我明白我可以挑选一个提交,但是我需要更进一步,“挑选”提交引入的一些更改,并将其应用到另一个(目标)分支。
有没有一个干净的方法来做到这一点,或者我应该只是申请整个提交,手动撤消一些hunk,并记住将来创build更多的primefaces提交?
git cherry-pick -n <SHA>
将git cherry-pick -n <SHA>
更改但不提交。 然后你可以使用git reset -p
来取消你不想要的位,或者git reset HEAD
和git add -Ap
来仅仅改变你想要的改变。
如果您要应用的部分可以通过path指定(即,您不希望在一个文件中指定hunk),则可以使用其他解决scheme。
一种方法是从提交形成补丁,并将其应用到您的分支。
随着你希望修改的分支被检出:
git show <SHA> -- <relevant paths> | git apply
将应用在提交SHA中的任何更改,pathrelevant paths
到您当前的工作副本。