git cherry-pick命令使用
用途:重新生成commitID,在原先其他分支或者本地分支的其他commit之上,然后git push到远端
1、在分支A重新提交我在分支B做的一次功能修改,并在分支A提交。
2、另一种情况在分支A(在未跟新代码的情况下修改了好几个功能,本地有好几个commit提交),我不能向远端用(git push origin 本地分支 远程分支),我往往会用先用git reset --HARD 到最新mergedID 然后git pull再用git cherry-pick(想要远端提交某个功能的commitID)生成新的commitID,然后再git push 到远端
用途一:
在本地分支B上
①git log
注:选择自己想要在分支A提交的功能,复制分支B的commitID
②git checkout <branchA>
注:切换分支到branchA
③git cherry-pick <commitId>
注:commitID为之前在分支B复制的那个commitID,会在当前分支生成一个新的commit(没有冲突的情况下)
④git push origin <branchA> <originBranch>
完成
用途二:
在本地分支A上
①我本地修改已经完成,不知道我本地是不是最新的代码
然后我 git commit -m “提交信息” //把我的修改生成了一个commitID
②git log
发现我的代码并不是最新merge的基础上修改的
③git reset --hard <远端最新mergedID>
④git pull origin <originBranch>一下跟新远端代码
⑤git reflog
注:看我修改的那个commitID 复制一下
⑥git cherry-pick <commitID>
注:我复制过的那个
⑦git push origin <branchA> <originBranch>
完成
eg:
温馨提示:每次的使用git cherry-pick的时候要保证是本地与远端代码保持一致,才可以正确提交,远端才不会有其他提交的信息
更多推荐
所有评论(0)