cherry-pick在单次提交中从远程分支到“master”分支的多个非顺序提交的更改

时间:2017-01-23 10:28:01

标签: git

enter image description here

我创建了一个主远程分支(A),然后我做了一个master分支作为分支(B)。我在分支(B)上做了三次提交。但我想只从commit1& amp; commit3并将它们作为我的主分支中的单个提交推送。任何人都可以建议我一种方法来处理这种情况。

4 个答案:

答案 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