Git cherry-pick 是什么,如何使用?
1. 简述
git 是我们每天都会用到的,分支相信大家也非常熟悉,本文给大家介绍一个十分好用的git命令。
git cherry-pick, 通过pick我们大概也能猜到,这是在选择,是的,git cherry-pick 完全简单的理解为”挑选”某个提交,git cherry-pick commitId 便会获取这个分支的提交的代码和相关信息,并作为一个全新的提交引入到你当前所在的分支上。
当我们需要在某个分支合并其他分支的某一次提交时,同时并不希望对整个分支进行合并,而是只希望将某一次提交合入到本地当前分支上,那么git cherry-pick commitId就派上用场了。
2. git cherry-pick
2.1 git cherry-pick commitId
基础用法
git branch
# 当前分支为 test
git log
# 此时会出现test分支的提交记录,假设此时你想要将
# test分支的commitId为123456的提交合并到sprint分支
git checkout sprint
git cherry-pick 123456
# 此时便已经将这个commit合并到sprint分支了
git log
# 通过git log 便可以看到
假设以下场景:
- 9点从test分支切出了sprint-9分支,
- 但是10点我在test分支上提交了需要sprint-8的代码(临时增加的需求)
因此这时候test分支和sprint-9分支的代码就不一致了。
当然,如果10点在test分支上修改的代码 sprint-9 不会涉及到,那么在之后合并的时候自然不会冲突,那么也没什么关系。
但是,为了以防万一,谁都无法保证上述情况不会发生,因此这里选择将test分支的commit同步到sprint-9上,使用 git cherry-pick commitID 便可以实现
git cherry-pick commitID
这里的 commitId 就是10点在test分支上提交的Id,这时候你就会发现,这个提交记录就会被同步到sprint-9分支上。
2.2 git cherry-pick -n commitId
git cherry-pick 会自动提交,如果不想git cherry-pick自动进行提交,则加参数-n即可
此时,git cherry-pick -n commitId 只是将这个 commitId 的代码合并到了当前分支,但是不会进行提交,可以在修改完成后 commit 提交
2.3 git cherry-pick -e commitId
如果希望在 git cherry-pick 后重新编辑提交信息,则使用 git cherry-pick -e commitId 命令,此时可以重新编辑提交信息
Git cherry-pick 是什么,如何使用?相关推荐
- git cherry pick
直接将选定的其他分支的commit,提交到该分支上 不建议使用 git rebase --onto 使用cherry pick代替 http://weblog.avp-ptr.de/20120928/ ...
- IDEA git cherry pick 简单使用
cherry pick的作用: 参考了一些博客, eg: 参考博客1 参考博客2 再做了个小案例后,我目前的理解是,cherry pick的作用是将一个分支的部分提交/历史提交,可以合并到另外一个分支 ...
- 【git cherry pick冲突】
修好了bug愉快的打算commit提交的时候 看到提示语句是can not commit changes due to unresolved conflicts 在Android Studio中寻找图 ...
- idea cherry pick 功能 git log 窗口 冲突conflict
git log 窗口 参考 source tree cherry pick, merge conflict merge conflict 冲突 <<<<<<< ...
- [gitsourcetree]cherry pick和遴选的使用
前言 cherry pick. 拷贝其中的某一次提交记录. 本文就介绍一种更加快捷的方式 cherry pick. 介绍 此方法主要用于2分支分别独立维护的情况, 即某一分支已经上线了spring-2 ...
- 在gerrit上cherry pick多笔提交到一个仓库中
我们的要求是在dvr_service仓库上从其他分支cherry pick 两笔提交到release/b03chn_rel_sop_3_nobo分支 这两笔提交分别如图所示 如图所示,B02-5746 ...
- 1.Cherry Pick与Create Patch的区别
Cherry Pick与Create Patch的区别 结论 实验 场景1:应用时无冲突 场景2: 应用时产生冲突 使用cherry pick 使用patch 场景3:产生冲突,并且有其他文件的变更 ...
- gerrit cherry pick to merge code
开发中经常遇到,不同branch代码需要同步修改的问题, 通过gerrit cherry pick to功能可以方便的将已提交A Branch 的修改同步到B Branch上,提升工作效率
- Git 经常使用命令合集
====== Git 经常使用命令合集 ====== === 1.Git 文档 === Git 中文文档观看地址:http://git.oschina.net/progit/ === 2.G ...
- Git 报错: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, ...
最新文章
- 告别 Navicat ,同事安利的这个IDEA的兄弟,真香!
- c语言一对圆括号不能,C语言单元习题集
- 生鲜电商回光返照? 不! 是起死回生!
- linux怎么查端口是否被占用,LINUX中如何查看某个端口是否被占用
- 不属于python标准库的是_python标准库和扩展库
- mysql 保留5位小数_小猿圈分享-MySQL保留几位小数的4种方法
- LightOJ 1422 Halloween Costumes
- Java基础2一基础语法
- sudo: unable to resolve host xxx解决办法
- angularjs 笔记(1) -- 引导
- 本地电脑安装虚拟机-解决USB驱动报错(代码 39)问题
- 相机模型(针孔、广角)
- 利用H5SVG实现线性动画效果
- matlab中stract用法_matlab初学之strcat、num2str
- 中文技术文档的写作规范
- AMEsim16安装启动后加载液压模块与车辆动力学模块
- 分享机械键盘的购买使用体验和对比参数(md版本)
- 你的个人博客网站该上线了!
- PDF管理控件Spire.PDF使用教程:如何创建PDF表格并添加图片到表格
- 安全服务工程师的自我修养