git cherry-pick

比如team最近在做新的version,某天该version code freeze了,但是你发现你最新的commit居然在code freeze之后merge的!!
于是你该:

1. git fetch origin 
2. git merge origin/master 

先把本地的master拉取到最新的版本(不拉取最新的版本等下cherry-pick可能会找不到版本号)
然后拉取对应的version分支,切到该version的分支

1.  git fetch origin [version_branch]
2. git checkout [version_branch]

再从该version分支新建一个自己的branch,找到之前自己提交的code在master中的commit号

1. git checkout -b [your_branch]
2. git cherry-pick [commit-number]

这样通过

git log

可以看到在version branch的基础上,新的commit是cherry-pick过来的,然后把你新建的分支再提交回origin,merge到version_branch上

git push origin [your_branch]

这里要注意下,git对于branch的名字,是大小写不敏感的:

git checkout vaa
git checkout Vaa 

是一样的分支。但是git push的时候,是大小写敏感的,所以如果发现push的时候提示fetal,找不到该分支啥的,用

git branch

查看分支的正确名字。再push就没问题了

你可能感兴趣的:(git cherry-pick)