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, ...
最新文章
- python中options设置_如何使用ChromeOptions在Python selenium中禁用CSS
- mysql 变量set
- 关于举办XX学院“XX杯”网页设计大赛的通知
- Java 基于 UDP 实现 Socket中的多客户端通信
- Lync Server 2010迁移至Lync Server 2013部署系列 Part1: 扩展AD架构
- js时间对象:获取当前时间(格式化)- 代码篇
- Oracle数据库的表结构 简单表的建立
- 【Tensorflow】相关面试题整理(转)
- OA系统权限管理设计方案
- 小米4降级android版本,小米MIUI不再允许降级,小心手机变砖
- Awesome Free ChatGPT(免费的chatgpt镜像网站)
- 机器学习算法: 朴素贝叶斯算法
- Hadoop实战之workcount
- TinyMce 修改插件 实现多文件/图片上传
- React:input输入框只能输入英文和特殊字符(可以自定义限制)
- 汽车配件中的DV试验与PV实验区别
- Toad for Oracle 使用说明
- 如何去掉界面中缅甸语圈圈(JB,JB2)
- Oracle的plsql字体,西文字体与中文字体的oracleplsql级别转换
- 制作三星I9088 刷机ROM的实践(三)
热门文章
- 如何对台式计算机 笔记本进行日常维护,笔记本电脑日常维护十项准则[详细介绍]...
- 内网安全管理软件(内网安全管理软件的功能)
- Windows修改中文用户名为英文
- 旅行 写作 编程_我最喜欢的在旅行或没有互联网时保持编程的方式
- UIR软件--高校ERP的升级版、中国高校管理的首选软件
- Vant Weapp 0.5.11 发布,有赞小程序 UI 组件库
- 程序员必做50题第2题:企业发放的奖金根据利润提成。利润(I)低于或等于10万元时,奖金可提10%;利润高于10万元...
- python中ln函数如何表示_Python math库 ln(x)运算的实现及原理
- 安卓9 怎么运行老程序_孩子老走神怎么办?9张图教你培养孩子的注意力!
- MySQL5.1安装教程