我创建了一个主远程分支(A),然后我做了一个master分支作为分支(B)。我在分支(B)上做了三次提交。但我想只从commit1& amp; commit3并将它们作为我的主分支中的单个提交推送。任何人都可以建议我一种方法来处理这种情况。
答案 0 :(得分:2)
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
答案 1 :(得分:1)
您可以简单地使用-n
的{{1}}选项,这会阻止创建提交。
git cherry-pick
你也可以一次挑选多个提交:
git cherry-pick -n commit1
git cherry-pick -n commit3
git commit
答案 2 :(得分:0)
做两个樱桃选择,然后压制两个新的提交:
git checkout master
git cherry-pick commit1
git cherry-pick commit3
git rebase -i @~2
在您的编辑器中,选择"壁球"第二次提交。根据自己的喜好编辑提交消息。
答案 3 :(得分:0)
这就是我要做的
git checkout -b joined
git cherry-pick commit1 commit3
# fix potential merge conflicts
git checkout master
git merge --squash joined