从远程分支机构的多个非连续的提交的樱桃挑选改变成单个“主”分支提交
我已经创建了一个主远程分支(A),然后我没有主作为分支的分支(B )。我在分支(B)上做了三次提交。但我想挑选commit1 & commit3中的更改,并将它们作为我的主分支中的单个提交进行推送。任何人都可以建议我处理这种情况的方法。
从远程分支机构的多个非连续的提交的樱桃挑选改变成单个“主”分支提交
我已经创建了一个主远程分支(A),然后我没有主作为分支的分支(B )。我在分支(B)上做了三次提交。但我想挑选commit1 & commit3中的更改,并将它们作为我的主分支中的单个提交进行推送。任何人都可以建议我处理这种情况的方法。
git checkout master
git cherry-pick commit1
git cherry-pick commit3
git reset HEAD~2 --soft
git commit
git push origin master
更新:改变HEAD^2到HEAD〜2
做两樱桃选秀权,然后压扁了两个新的提交:
git checkout master
git cherry-pick commit1
git cherry-pick commit3
git rebase -i @~2
在编辑器中,选择 “挤压” 了第二次提交。根据自己的喜好编辑提交消息。
您可以简单地使用git cherry-pick
的-n
选项,该选项可防止创建提交。
git cherry-pick -n commit1
git cherry-pick -n commit3
git commit
您也可以摘樱桃多次提交一次:
git cherry-pick -n commit1 commit3
git commit
我认为'-n'选项可能会有问题,如果您必须解决任何樱桃选择合并冲突。 – Mort
“HEAD^2”< - 你的意思是HEAD〜2? – jbu
@jbu是的。谢谢。我犯了一个错误。 – ElpieKay