前言

cherry pick. 拷贝其中的某一次提交记录.

本文就介绍一种更加快捷的方式 cherry pick.


介绍

此方法主要用于2分支分别独立维护的情况, 即某一分支已经上线了spring-202108, 同时也有开发spirnt-202109. 此时如果有提交内容, 既需要提交到sprint-202108sprint-202109. 此时主要有3种方式:

  • 方法1: 分别在0809分支提交2次提交记录.
  • 方法2: 先提交到08上, 随后使用遴选(cherry pick)将之前的提交记录也提交一份到09上.
  • 方法3: 合并分支0809上. (如果0809是不同的分支, 且独立维护的话, 则此方法不合适.)

遴选使用和demo


比如我们有2个分支tmptmp2. 此时tmp分支发生了更新<63af0ce>, 此时我们要将本次的修改也提交到tmp2上. 此时操作如下所示:

  • 步骤1 切换当前分支到需要cherry pick到分支. (此处为tmp2)
  • 步骤2 选择需要cherry pick的提交节点. 此处为<63af0ce>

  • 选择cherry pick(遴选)

  • 此时如果有冲突. 会在这个头节点 解决冲突后合并

  • 由于此处我处于tmp2(我方). tmp也就是cherry pick的属于他方. 所以我此处选择以他人解决冲突. (当然你也可以选择手动进行合并.)

  • 遴选冲突解决后 文件情况

  • 此时 提交推送即可.


总结

优点&作用

  • cherry pick(遴选)可以将某一个的提交放置到当前分支的头部.
  • 操作方便快捷.

缺点

  • 每次只能遴选一个分支.
    缺点解决办法

缺点解决办法

  • 准备一个临时分支将需要遴选的多次连续提交进行合并. 随后将提交rebase成一次提交.
  • 面对多次不连续提交的情况. 看起来只能通过多次临时分支的依次遴选人肉手动合并的方式进行解决了.

小插曲

git --no-optional-locks -c color.branch=false -c color.diff=false -c color.status=false -c diff.mnemonicprefix=false -c core.quotepath=false -c credential.helper=sourcetree push -v origin refs/heads/tmp2:refs/heads/tmp2
Pushing to https://github.com/GGG/letcode-all.git
remote: Support for password authentication was removed on August 13, 2021. Please use a personal access token instead.
remote: Please see https://github.blog/2020-12-15-token-authentication-requirements-for-git-operations/ for more information.
fatal: unable to access 'https://github.com/GGG/letcode-all.git/': The requested URL returned error: 403
Completed with errors, see above

看起来是密码失效了. github从8月13日的密码验证策略作出了改变.

[gitsourcetree]cherry pick和遴选的使用相关推荐

  1. git cherry pick

    直接将选定的其他分支的commit,提交到该分支上 不建议使用 git rebase --onto 使用cherry pick代替 http://weblog.avp-ptr.de/20120928/ ...

  2. 在gerrit上cherry pick多笔提交到一个仓库中

    我们的要求是在dvr_service仓库上从其他分支cherry pick 两笔提交到release/b03chn_rel_sop_3_nobo分支 这两笔提交分别如图所示 如图所示,B02-5746 ...

  3. 1.Cherry Pick与Create Patch的区别

    Cherry Pick与Create Patch的区别 结论 实验 场景1:应用时无冲突 场景2: 应用时产生冲突 使用cherry pick 使用patch 场景3:产生冲突,并且有其他文件的变更 ...

  4. idea cherry pick 功能 git log 窗口 冲突conflict

    git log 窗口 参考 source tree cherry pick, merge conflict merge conflict 冲突 <<<<<<< ...

  5. IDEA git cherry pick 简单使用

    cherry pick的作用: 参考了一些博客, eg: 参考博客1 参考博客2 再做了个小案例后,我目前的理解是,cherry pick的作用是将一个分支的部分提交/历史提交,可以合并到另外一个分支 ...

  6. gerrit cherry pick to merge code

    开发中经常遇到,不同branch代码需要同步修改的问题, 通过gerrit cherry pick to功能可以方便的将已提交A Branch 的修改同步到B Branch上,提升工作效率

  7. 【git cherry pick冲突】

    修好了bug愉快的打算commit提交的时候 看到提示语句是can not commit changes due to unresolved conflicts 在Android Studio中寻找图 ...

  8. Git可视化工具SourceTree使用手册:中英文/命令对照表

    目录 前言 中英文/命令对照表 顶部操作栏 左侧树 右键工作副本 右键本地分支 右键标签 右键origin 右键远程分支 右键贮藏 右侧工作区 右键工作副本-已/未暂存文件 右键分支-分支列表中的节点 ...

  9. Android应用开发进阶,一线互联网企业高级Android工程师面试题大全

    2.7 Volley 2.7.1 Volley的工作流程 2.7.2 Volley的使用 2.7.3 Volley的封装 2.7.4 Volley源码分析 2.8 RxJava 2.8.1 RxJav ...

最新文章

  1. Keymob:移动广告的优化工具
  2. matlab sol函数,sol=bvp4c(@f,@fsbc,solinit)解决有上下限的ODE函数
  3. worktools-源码下拉问题
  4. Redhat Linux 7.2 打开或关闭防火墙
  5. vs2022 无法打开包括文件: “crtdbg.h” no such file or directory
  6. C++11 std::bind 和 std::placeholder
  7. TCP的流模式与UDP的报文模式对比
  8. 工作201:所需功能优化
  9. php tool pagination,php实现分页工具类分享
  10. python3cookbook_python3-cookbook读书笔记(四)
  11. 增值税怎么用计算机算,增值税计算器
  12. 联想电脑安装黑苹果全教程
  13. 15、Java基础---继承和访问属性
  14. DDR中的一些知识点说明(ODT,ZQ校准,OCT,TDQS)【转载】
  15. [笨叔点滴6] 叔,这个git咋玩啊?
  16. 提升个人效率减少焦虑——GTD法则
  17. 今日头条2019年笔试题 机器人跳跃问题
  18. 如何让自己变得更加成熟
  19. 2022金九银十最全的软件测试面试题,能不能找到合适工作就看它了
  20. java捕鱼达人_java捕鱼达人游戏(源码)

热门文章

  1. Puzzle Pieces
  2. HFC(光纤同轴电缆混合网)
  3. CC2530+CC259x ZStack-2.5.1a 功率放大应用
  4. 内联 JavaScript 处理器、JavaScript练习-情话生成器
  5. Win10禁止某些程序运行方法
  6. mysql数字型不为空语句,mysql查询语句select-(null,not null,is null和is not null)
  7. Windows CMD 指令for遍历文件夹
  8. 编程语言概要(EOPL)-前言
  9. IDEA界面功能释义
  10. 【演示文稿制作】Focusky教程 | 怎么搭配演示文稿的颜色最好?