当前位置: 首页 > news >正文

You have not concluded your cherry-pick (CHERRY_PICK_HEAD exists).Please, commit your changes

Git 报错

在 IDEA 中使用 Git 报错:

You have not concluded your cherry-pick (CHERRY_PICK_HEAD exists).Please, commit your changes

我使用 git status 命令查看当前状态,也没看出什么问题,

解决方法

使用命令放弃 git cherry-pick 变更

git cherry-pick --abort 

再执行更新或者 pull

git pull
更多

1.git cherry pick 可以理解为”挑拣”提交,它会获取某一个分支的单笔提交,并作为一个新的提交引入到你当前分支上。 当我们需要在本地合入其他分支的提交时,如果我们不想对整个分支进行合并,而是只想将某一次提交合入到本地当前分支上,那么就要使用 git cherry-pick.

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

2.比如我在 develop 分支完成了三个功能模块:feature A,feature B,feature C, 首先通过 git log 可以看到最新的提交。

git cherry-pick 的用法是:git cherry-pick commitID

但是如果我们要将100个 commit 要合并到 master 分支怎么做呢?

git 一个区间操作方法。具体来讲是这样的:git cherry-pick commit1…commit100

注意:这是一个左开右闭的操作,也就是说,commit1 不会被合并到 master 分支,而 commit100 则会。

3.更多用法

1)git cherry-pick -n:如果不想 git cherry-pick 自动进行提交,则加参数 -n 即可
2)git cherry-pick -e:如果想要在 git cherry-pick 后重新编辑提交信息,则使用 git cherry-pick -e 命令
3)git cherry-pick –continue:在 cherry-pick 的过程中,如果发生冲突,需要先解决冲突,通过 git add .将文件标记为已解决,然后可以使用 git cherry-pick --continue 命令,继续进行 cherry-pick 操作。
如果要中断这次 cherry-pick, 则使用 git cherry-pick --quit,这种情况下当前分支中未冲突的内容状态将为 modified,

如果要取消这次 cherry-pick, 则使用 git cherry-pick --abort,这种情况下当前分支恢复到 cherry-pick 前的状态,没有改变。

4)git cherry-pick < branchname >:如果在git cherry-pick后加一个分支名,则表示将该分支顶端提交进cherry-pick

5.常见问题

1)The previous cherry-pick is now empty, possibly due to conflict resolution.

在 cherry-pick 时出现冲突,解决冲突后本地分支中内容和 cherry-pick 之前相比没有改变,因此当在以后的步骤中继续 git cherry-pick 或执行其他命令时,由于此时还处于上次 cherry-pick,都会提示该信息,表示可能是由于解决冲突造成上一次 cherry-pick 内容是空的。

解决方案:

执行 git cherry-pick --abort 取消上次操作。

执行 git commit --allow-empty, 表示允许空提交。

2)fatal: You are in the middle of a cherry-pick – cannot amend.

在 cherry-pick 时出现冲突,没有解决冲突就执行 git commit --amend 命令,从而会提示该信息。

解决方案:

首先在 git commit --amend 之前解决冲突,并完成这次 cherry-pick:

$ git add .

$ git cherry-pick --continue

相关文章:

  • Ubuntu 18 使用命令卸载软件
  • Ubuntu 18 系统时间问题 - 解决其使用 BIOS 时间,不联网同步
  • Grub2 开机系统选择界面美化 - 主题修改
  • 最常见的 Git 错误及解决方法
  • 手写 Spring - 详细思路与实践
  • JVM 字节码指令手册 - 查看 Java 字节码
  • 浮点数为什么不精确
  • 不能使用 float 和 double 来表示金额等精确的值
  • 金额工具类
  • 为什么包装类型间的相等判断应该用 equals
  • 为什么重写 equals() 要重写 hashCode()? hashCode 值相等,两个对象不一定相等?
  • Ubuntu 18 搜狗输入法 - 输入汉字时候选栏乱码问题
  • Ubuntu 18 boot 分区空间不足-解决方法
  • CentOS7 下 Redis 的安装、配置、启动、关闭、开启远程连接
  • 告别吧 - 单链表反转(Java 实现)
  • [数据结构]链表的实现在PHP中
  • 【159天】尚学堂高琪Java300集视频精华笔记(128)
  • 【162天】黑马程序员27天视频学习笔记【Day02-上】
  • 【5+】跨webview多页面 触发事件(二)
  • 【跃迁之路】【444天】程序员高效学习方法论探索系列(实验阶段201-2018.04.25)...
  • 【跃迁之路】【519天】程序员高效学习方法论探索系列(实验阶段276-2018.07.09)...
  • 【跃迁之路】【585天】程序员高效学习方法论探索系列(实验阶段342-2018.09.13)...
  • Android开发 - 掌握ConstraintLayout(四)创建基本约束
  • gcc介绍及安装
  • Java读取Properties文件的六种方法
  • Java多态
  • Linux学习笔记6-使用fdisk进行磁盘管理
  • XML已死 ?
  • 翻译 | 老司机带你秒懂内存管理 - 第一部(共三部)
  • 给新手的新浪微博 SDK 集成教程【一】
  • 数据仓库的几种建模方法
  • 微信小程序实战练习(仿五洲到家微信版)
  • 一个JAVA程序员成长之路分享
  • 一些关于Rust在2019年的思考
  • Spark2.4.0源码分析之WorldCount 默认shuffling并行度为200(九) ...
  • # MySQL server 层和存储引擎层是怎么交互数据的?
  • #pragam once 和 #ifndef 预编译头
  • (13)Hive调优——动态分区导致的小文件问题
  • (2022版)一套教程搞定k8s安装到实战 | RBAC
  • (MATLAB)第五章-矩阵运算
  • (笔记)Kotlin——Android封装ViewBinding之二 优化
  • (附源码)基于SSM多源异构数据关联技术构建智能校园-计算机毕设 64366
  • (官网安装) 基于CentOS 7安装MangoDB和MangoDB Shell
  • (算法)Travel Information Center
  • (一)【Jmeter】JDK及Jmeter的安装部署及简单配置
  • (已解决)vue+element-ui实现个人中心,仿照原神
  • (译)2019年前端性能优化清单 — 下篇
  • (转载)VS2010/MFC编程入门之三十四(菜单:VS2010菜单资源详解)
  • . ./ bash dash source 这五种执行shell脚本方式 区别
  • .babyk勒索病毒解析:恶意更新如何威胁您的数据安全
  • .NET Core 项目指定SDK版本
  • .Net Memory Profiler的使用举例
  • .NET 发展历程
  • .Net 中的反射(动态创建类型实例) - Part.4(转自http://www.tracefact.net/CLR-and-Framework/Reflection-Part4.aspx)...
  • .NET/C# 如何获取当前进程的 CPU 和内存占用?如何获取全局 CPU 和内存占用?