git cherry-pick使用

前言

接到一个需求,便从dev分支拉了一个分支出来开发,开发完后,通过gitlab界面把代码合并至dev.产生了两个commit。其中一个是merge。

gitlab截图

为什么会产生一个merge的commit?

这个需求需要单独上线,所以不能从dev直接把代码全部合到master。
最开始我以为需要将这两个commit都合到master。
采用命令

git cherry-pick (commitid1..commitid100]

cherry-pick是个啥?
最后报错了。

error: Commit 6d3ab0967c50cb55381f7a40d47bfadbf82206a0 is a merge but no -m option was given.
fatal: cherry-pick failed

merge commit合不过去。
最后只合第一个commit.

git cherry-pick commit1

报错,代码冲突。

error: could not apply 655528c... 升级openjdk
hint: after resolving the conflicts, mark the corrected paths
hint: with 'git add <paths>' or 'git rm <paths>'
hint: and commit the result with 'git commit'

为什么cherry-pick会有冲突?
找到冲突的文件,并解决。
解决完冲突后,执行以下命令:

git add .
git cherry-pick --continue
git push oringin master

搞定。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • git cherry-pick可以选择某一个分支中的一个或几个commit(s)来进行操作。例如,假设我们有个稳定...
    _Justin阅读 172,923评论 7 88
  • 一、Git是什么? 是一个开源的分布式版本控制系统,可以有效、高速的处理从很小到非常 大的项目版本管理。 Git ...
    名字谁不会取阅读 1,096评论 0 0
  • 安装Git Git的下载地址:Git官网下载地址 Git本地仓库和命令 配置用户 下载完Git后,右键会有一个Gi...
    TokyoZ阅读 4,537评论 1 7
  • (预警:因为详细,所以行文有些长,新手边看边操作效果出乎你的预料) 一:Git是什么? Git是目前世界上最先进的...
    axiaochao阅读 1,958评论 1 8
  • 435429744392180668286174316173509406238632140595220392354...
    我是来捕鱼的阅读 372评论 0 0