例:现有A和B两个分支,要将A分支上的一个节点合并到B分支,为了避免将整个分支合并过去,使用git cherry-pick命令进行合并。
1、在A分支下查看需要合并节点的hash编码
git log
2、切换到B分支,执行命令
git checkout B
3、进行合并A分支上的节点
git cherry-pick [hash]
合并前需保持工作区和缓存区是干净的
工作区不干净,报error: Your local changes to the following files would be overwritten by merge
缓存区不干净,报error: your local changes would be overwritten by cherry-pick
报错后可以先查看文件状态
git status
可以清楚的看到那些文件是修改的还是从未被添加过,git add命令可以把要提交的所有修改放到暂存区(Stage),然后,执行git commit就可以一次性把暂存区的所有修改提交到分支。
代码如果不提交可以Shelve Silently,合并完成后Unshelve Silently恢复未提交的代码。