问题描述:
有时候我们做cherry pick的时候不想把整个commit 都pick过来,典型的原因比如:commit里面只有一个或几个文件对我们自己的branch是有用的。
解决方案:
试验下来,觉得最简单的方式是:
git cherry-pick -n <commit_id>
-n 的意思是:
-n, --no-commit don't automatically commit
如果commit里面有多个文件,执行此命令后需要先unstage 并恢复不想要改动的文件:
git reset HEAD <file_name>
git checkout -- <file_name>
然后继续常规的commit操作就行了:
git commit -m "blah blah"
git push
这种方法的缺点是会丢失原作者及其相关的commit message,不过这也没什么,毕竟已经不是完整的cherry-pick操作了。