比如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就没问题了
网友评论