主页 > 知识库 > git 一个可以提高开发效率的命令:cherry-pick详解

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

热门标签:智能手机 铁路电话系统 银行业务 网站文章发布 呼叫中心市场需求 服务器配置 美图手机 检查注册表项

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

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

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

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

比如我现在有个文件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 commitID

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

git cherry-pick commit1..commit100

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

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

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

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

您可能感兴趣的文章:
  • python 利用Pyinstaller打包Web项目
  • 利用Pycharm + Django搭建一个简单Python Web项目的步骤
  • 如何打包Python Web项目实现免安装一键启动的方法
  • 解决python web项目意外关闭,但占用端口的问题
  • python+Django+pycharm+mysql 搭建首个web项目详解
  • 使用coverage统计python web项目代码覆盖率的方法详解
  • 详解使用Nginx和uWSGI配置Python的web项目的方法
  • Python Web项目Cherrypy使用方法镜像

标签:乐山 长治 上海 红河 新疆 沈阳 河南 沧州

巨人网络通讯声明:本文标题《git 一个可以提高开发效率的命令:cherry-pick详解》,本文关键词  ;如发现本文内容存在版权问题,烦请提供相关信息告之我们,我们将及时沟通与处理。本站内容系统采集于网络,涉及言论、版权与本站无关。
  • 相关文章
  • 收缩
    • 微信客服
    • 微信二维码
    • 电话咨询

    • 400-1100-266