git cherry-pick合并其它分支的某次提交(commits)到当前分支
git cherry-pick 可以选择某一个分支中的一个或几个commit(s)来进行操作。
例如,假设我们有个稳定版本的分支,叫v2.0.0,另外还有个开发版本的分支v3.0.0,我们不能直接把两个分支合并,这样会导致稳定版本混乱,但是又想增加一个v3.0.0中的功能到v2.0.0中,这里就可以使用cherry-pick了,其实也就是对已经存在的commit 进行再次提交。
合并操作
git checkout v2.0.0 #切换到目标分支
git cherry-pick ff571ed7 #ff571ed7 是v3.0.0分支的某次commit的hash(可以使用git log查看)
# 一次合并多个commit
git cherry-pick ff571ed7 ff571ed8
# 如果多次commit是连续的
git cherry-pick ff571ed7..ff571ed8 # 不包括ff571ed7
git cherry-pick ff571ed7^..ff571ed8 # 包括ff571ed7
成功的提示

注意事项
如果有冲突发生,要先解决冲突,然后再运行git cherry-pick --continue就可以继续完成;
其它操作
#1、发生冲突后放弃合并,回到操作之前的状态
git cherry-pick --abort
#2、发生冲突后,退出cherry-pick 但不回到操作之前的状态
git cherry-pick --quit
git cherry-pick合并其它分支的某次提交(commits)到当前分支的更多相关文章
- git当前分支修改文件不提交切换另一个分支(git stash)
出发前先讲故事:项目正在test分支更新版本我们疯狂的写bug,突然没更新前的版本出bug了(意料之中),此时呢我们要切换到master分支去改bug.此时此刻我test分支上修改的文件还不想提交,但 ...
- 合并多次提交 commits 到 新分支
压缩多个Commit 当你提交代码进行代码审查时或者创建一次pull request (这在开源项目中经常发生),你的代码在被接受之前会被要求做一些变更.于是你进行了变更,并且直到下一次审查之前你没有 ...
- git之rebase、merge和cherry pick的区别(面试常问)
git flow图例镇楼 merge 这个简单,初学者常用.比如主分支是Dev,最新版本是01.然后小明基于此,搞了个feature 分支A,业务:打酱油.然后在上面多次提交,完成功能迭代开发,如A1 ...
- git cherry命令来比较两个分支的不同
git cherry 命令使用 1. 两个参数的情况 git cherry -v origin/master asa 比较本地的asa分支和远程master的差别 git cherry -v mast ...
- git创建与合并分支
创建与合并分支 在版本回退里,你已经知道,每次提交,Git都把它们串成一条时间线,这条时间线就是一个分支.截止到目前,只有一条时间线,在Git里,这个分支叫主分 支,即master分支.HEAD严格来 ...
- Git(创建与合并分支)
在版本回退里,你已经知道,每次提交,Git都把它们串成一条时间线,这条时间线就是一个分支.截止到目前,只有一条时间线,在Git里,这个分支叫主分支,即master分支.HEAD严格来说不是指向提交,而 ...
- 使用git创建与合并分支
一.概述 学会使用git命令对项目进行创建分支,并在创建结束后合并到主分支上. 问:为什么要创建分支? 答:在原来的分支上创建一个自己的分支进行开发,在开发完毕后一次性合并到原先的分支,这样既保证安全 ...
- git——更新分支、提交代码、切换分支、合并分支
还是直接贴教程吧:https://git-scm.com/book/zh/v2 如何把本地idea上的项目上传到github上:https://www.cnblogs.com/gougouyangzi ...
- 【Git版本控制】Git的merge合并分支命令
1.实例 git checkout master git merge dev merge合并分支只对当前分支master产生影响,被合并的分支dev不受影响. 假设你有两个分支,“stable” 和 ...
- eclipse git 主干代码合并到分支
https://blog.csdn.net/wwd0501/article/details/80676807 eclipse git 主干代码合并到分支: 1.项目切换至分支: 2.选中项目右键--& ...
随机推荐
- Avalonia的自定义用户组件
Avalonia中的自定义用户控件 Avalonia是一个跨平台的.NET UI框架,它允许开发者使用C#和XAML来构建丰富的桌面应用程序. 自定义用户控件(UserControl)是Avaloni ...
- C# 做个Splash(启动屏幕)
现在有好些splash的做法,我的比较简单,而且如果你的素材不错的话,应该可以做出很好的效果,这个教程不依赖任何第三方控件,直接使用vs的就行了,下面这个是预览图: 正文开始: 我们首先新建一个win ...
- Ubuntu部署Django一:环境搭建
前言: Ubuntu系统上部署django,使用的部署方案是 Ubuntu + django + uwsgi + nginx Ubuntu系统版本用的是 ubuntu-20.04.2.0-desk ...
- Windows系统编译libhv带SSL,开启WITH_OPENSSL
需要开发一个https的服务,使用libhv来做,需要重新编译libhv,需要开启 WITH_OPENSSL,前面编译一直很顺利,但是打开VS生成动态库的时候,报错,找不到ssl相关的文件,看了官方的 ...
- 家庭实验室系列文章-如何迁移树莓派系统到更大的 SD 卡?
前言 其实这个专题很久很久之前就想写了,但是一直因为各种原因拖着没动笔. 因为没有资格,也没有钱在一线城市买房 (); 但是在要结婚之前,婚房又是刚需. 我和太太最终一起在一线城市周边的某二线城市买了 ...
- Android 开发入门(2)
0x04 简单控件 (1)文本显示 a. 添加文本 设置文本内容主要有两种方式: XML:通过属性android:text设置 在 layout 目录下新建 activity_text_view.xm ...
- 在ashx中如何使用session
前言 都是写陈年往事罢了,如何在ashx 使用session 正文 我们知道在ashx 中使用context.Session 我们即读取不到值,同时设置完也感觉无效. 原因是我们在ashx 中使用的s ...
- Django3.0连接数据库注意点
需先在应用下的__Init__.py文件中配置 import pymysqlpymysql.version_info=(1, 3, 13, 'final', 0) # 3.0时需要pymysql.in ...
- Unity性能优化——托管堆/GC
了解托管堆 许多 Unity 开发者面临的另一个常见问题是托管堆的意外扩展.在 Unity 中,托管堆的扩展比收缩容易得多.此外,Unity 的垃圾收集策略往往会使内存碎片化,因此可能阻止大型堆的收缩 ...
- c#代码重构与迭代(一)——循环代码的优化
foreach (var item in list) { Devices _Device = DevicesLogic.GetInstance().GetDevices(item.DeviceID); ...