git 一个可以提高开发效率的命令:cherry-pick详解

网络编程 2021-07-05 12:59www.168986.cn编程入门
这篇文章主要介绍了git 一个可以提高开发效率的命令cherry-pick,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

各位码农朋友们一定有碰到过这样的情况在develop分支上辛辛苦苦撸了一通代码后开发出功能模块A,B,C,这时老板过来说,年青人,我们现在先上线功能模块A,B。你一定心里一万只草泥马奔腾而过,但为了混口饭吃必须得按老板的意思办事啊。

怎么办?一个办法就是,重新建一个分支,然后再把功能模块C回退,留下功能模块A,B。这种做法不是不行,有更好的办法,那就是git所提供的cherry-pick功能。

cherry-pick类似于一个定制化的merge,它可以把其它分支上的mit一个个摘下来,合并到当前分支。

废话不多说,直接上实例。

比如我现在有个文件a.c,我在develop分支完成了三个功能模块feature A,feature B,feature C。如下图

现在,坑爹的老板只要feature A,feature B,我们现在用cherry-pick命令直接把feature A,feature B的提交合并到master分支里,如下操作

可以看到,功能模块feature A,feature B已经被合并到master分支里。请注意,合并到master分支里的提交哈希值发生了改变,与原来的不同。

可以看出,cherry-pick命令使用方法很简单,即

git cherry-pick mitID

刚刚是一个个提交cherry-pick到master分支,但如果有100个mit要合并到master分支呢?总不能这样一个个操作吧?git一样帮你想到了,它提供了一个区间操作方法。具体来讲是这样的

git cherry-pick mit1..mit100

要注意,这是一个左开右闭的操作,也就是说,mit1不会被合并到master分支,而mit100则会。这样的话上面的需求可以如下操作来实现

注意上面讲到cherry-pick命令每拣选一个mit就会提交一次生成一个新的mit id。 如果我们想让每个mit 拣选后暂缓提交,等到所有mit都拣选完成后,自己手动mit,应该怎么办呢?答案是用-n 选项

怎样,是不是很简单?学会了cherry-pick命令妈妈再也不用担心老板时不时的头脑发热了。快扫描下方二维码和良许一起学习更多git神操作!

到此这篇关于git 一个可以提高开发效率的命令cherry-pick详解的文章就介绍到这了,更多相关git cherry-pick命令内容请搜索狼蚁SEO以前的文章或继续浏览狼蚁网站SEO优化的相关文章希望大家以后多多支持狼蚁SEO!

Copyright © 2016-2025 www.168986.cn 狼蚁网络 版权所有 Power by