Git 实用技巧之 cherry-pick
2023-4-20
| 2023-9-21
0  |  阅读时长 0 分钟
type
status
date
summary
tags
category
icon
有些时候需要从一个现有的分支中pick一些commit出来,这个时候cherry-pick就非常的方便了。例如多人协作开发时,有可复用的代码,再例如多个功能放在一个分支中上线,某些功能不可发布,有些需要发布。
简单粗暴一点,当然也可复制粘贴,但使用cherry-pick更简单…
 

简单用法

假如有有两个分支devA 和 devB,其commit结构如下:
notion image
需要将devA分支的 devA-B commit 移动到 devB分支的末尾,使用Git的 cherry-pick命令可以非常快速的实现:
 
此时会将commit信息一块带过来,如果想要修改commit信息,可以撤销这个commit,修改信息之后再commit,当然更简单的方法是使用cherry-pick提供一些命令,记录三个,其他可以参考 cherry-pick
  1. -e , --edit : 可以编辑commit信息
  1. -n , --no-commit : 只更新代码,不自动提交commit
  1. -x : 在提交信息的末尾追加一行(cherry picked from commit ...) ,方便溯源
 
 
如果需要cherry-pick多个commit的话,可以使用下述方式:

扩展用法

从其他Git的代码仓库cherry-pick某些commit,例如发现某一个GitHub上的代码仓库有自己需要的某些代码。常规做法是复制粘贴代码,但自从了解了cherry-pick,操作就更简单了:
  1. 添加远程代码仓库作为一个remote的仓库:
    1. 然后从仓库中拉取代码:
      1. 使用cherry-pick获取需要的commit
        1. 操作完了,可以移除一下远程的代码仓库,避免后续的误操作
           
           
          技术分享
        2. 开发经验
        3. CSS Module 嵌套写法Mac切换自带输入法
          目录