git cherry-pick
将另一个分支的提交“捡”过来,再次在当前分支提交。需要知道本地另一个分支的提交的commit ID,或者gerrit上面的别人提交对应的cherry-pick链接。
git cherry-pick commitID如果没有出现冲突,该命令将自动提交。如果不想cherry-pick自动产生提交,继续往后面看。
1、cherry-pick 冲突
如果要cherry-pick过来的提交和本地的修改有冲突,需要处理,解决完冲突之后,先将修改的文件也加入到本次cherry-pick:
git add .再继续:
git cherry-pick --continue编辑本次cherry-pick的comment
git commit --amend2、取消cherry-pick
或者取消本次cherry-pick
git cherry-pick --abort中断这次cherry-pick,使用quit:
git cherry-pick --quit3、cherry-pick其它命令
①git cherry-pick后加一个分支名,则表示将该分支顶端提交进cherry-pick
git cherry-pick < branchname >②不想git cherry-pick自动进行提交,则加参数-n即可
git cherry-pick -n commitID③在cherr-pick后重新编辑提交信息
git cherry-pick -e commitID④允许空提交
git commit --allow-empty要将A分支的一个commit合并到B分支:
①首先切换到A分支
git checkout A②找出要合并的commit ID :
git log
#例如:0128660c08e325d410cb845616af355c0c19c6fe③然后切换到B分支上
git checkout B④将A分支的某个commit合并到了B分支了
git cherry-pick 0128660c08e325d410cb845616af355c0c19c6fe

