cherry-pick 可以局部代码合并.
cherry-pick 不仅可以用在不同分支之间, 还可以用在同一个分支上.
比如说你在某一个向某个分支中添加了一个功能, 后来处于某种原因把它给删除了, 然而后来某一天你又要添加上这个功能了, 这时候就可以使用 cherry-pick 把添加那个功能的 commit, 再重演一遍.
不同分支之前, 传递代码, 有点意思.
commit dbb9d196fb38fe676fdfea9aeee6b0bc4512209a
Author: jiqing <jiqing@caomall.net>
Date: Wed May 16 10:37:49 2018 +0800
规格处理
- Admin/Lib/Action/ProductAction.class.php | 9 +++++++--
- Admin/Tpl/Product/add.html | 12 ++++++------
- 2 files changed, 13 insertions(+), 8 deletions(-)
这个是分支 A 中的功能调整, 分支 B 中也需要这样的功能, 怎么办呢?
难不成, 再写一遍? 又或者再复制一遍?
不需要的, 使用 cherry-pick 就可以了.
git cherry-pick dbb9d196fb38fe676fdfea9aeee6b0bc4512209a
[laobandianqi 3eb652d] 规格处理
Date: Wed May 16 10:37:49 2018 +0800
2 files changed, 13 insertions(+), 8 deletions(-)
我们发现, 分支 B 中会进行一模一样的操作.
- git log
- commit 3eb652de360e67dae1dfb2f7692396adad26ec65
- Author: jiqing <jiqing@caomall.net>
Date: Wed May 16 10:37:49 2018 +0800
规格处理
就连生成的 commit 日志都是一样的, 说明, 它将 commit 重新在分支 B 上执行了一遍.
很好很强大, 很喜欢.
使用之前, 记得 git fetch
jiqing@Ubuntu:/home/wwwroot/default/laobandianqi/store$ git fetch
remote: Counting objects: 6, done.
remote: Compressing objects: 100% (5/5), done.
remote: Total 6 (delta 0), reused 0 (delta 0)
展开对象中: 100% (6/6), 完成.
来源: http://www.bubuko.com/infodetail-2603173.html