比如test是master的一个分支,在test分支改了一点东西,想把改的这点东西也给主分支推送一下就需要用到git cherry-pick
1.在test分支,上输入 git log会打印出最近的提交,结果如下栗子:
commit 302e5c68axxxxxxxxxxxxxxxxxxxxxx461ece0e9 //最后一次的改动
commit 302e5c68axxxxxxxxxxxxxxxxxxxxxx4616660e9
commit 302e5c68axxxxxxxxxxxxxxxxxxxxxx461aaa0e9
2.切换到master分支,比如要拷贝最后一次的改动,执行:
git checkout master
git cherry-pick 302e5c68axxxxxxxxxxxxxxxxxxxxxx461ece0e9
注意:单个commit : git cherry-pick 302e5c68axxxxxxxxxxxxxxxxxxxxxx461ece0e9
多个commit:git cherry-pick 302e5c68axxxxxxxxxxxxxxxxxxxxxx461ece0e9^…302e5c68axxxxxxxxxxxxxxxxxxxxxx461aaa0e9
此时test改动的内容就被保存到了master的暂存区,直接git push即可