当前位置: 首页 > article >正文

【Git】git cherry-pick(将某个分支的 commit 改动复制到当前分支)

文章目录

    • ‌一、基础用法
      • 1.1、‌应用单个提交
      • 1.2、‌应用多个非连续提交
      • 1.3、‌应用多个连续提交
    • ‌二、高级用法
      • ‌2.1、冲突处理
      • ‌2.2、放弃操作
      • ‌2.3、‌不自动提交
      • 2.4、应用分支的最新提交

‌一、基础用法

1.1、‌应用单个提交

  • 使用提交的哈希值(可通过 git log 查看):
git cherry-pick <commit-hash>

# 示例:git cherry-pick a1b2c3d

1.2、‌应用多个非连续提交

  • 用空格分隔多个哈希值:
git cherry-pick <hash1> <hash2> <hash3>  

# 示例:git cherry-pick a1b2c3d d4e5f6g e4f5g6h

1.3、‌应用多个连续提交

  • 使用 .. 指定范围(左开右闭区间,需用 ^ 包含起始提交):
git cherry-pick start-commit^..end-commit

# 示例:git cherry-pick a1b2c3d^..e4f5g6h

‌二、高级用法

‌2.1、冲突处理

  • 冲突时 Git 会暂停操作,需手动编辑文件解决冲突,然后标记冲突已解决后继续
git add . && git cherry-pick --continue

‌2.2、放弃操作

  • 放弃当前 cherry-pick 过程并还原分支:
git cherry-pick --abort

‌2.3、‌不自动提交

  • 使用 -n 或 --no-commit 保留变更到工作区,需手动提交:
git cherry-pick -n <commit-hash>

# 示例:git cherry-pick -n a1b2c3d

2.4、应用分支的最新提交

  • 直接指定分支名(应用该分支最新提交)
git cherry-pick <branch-name>  

# 示例:git cherry-pick feature

http://www.kler.cn/a/612629.html

相关文章:

  • 文件分片上传demo(ant design vue 的a-upload)
  • HarmonyOS:解决UIAbility调用terminateSelf()后设置不保留最近任务列表中的快照
  • 108.在 Vue 3 中使用 OpenLayers 加载 XYZ 地图的示例
  • FPGA_YOLO(三)
  • 记录一次渗透测试/常用命令
  • 系统与网络安全------网络应用基础(6)
  • 【力扣hot100题】(005)三数之和
  • (Kotlin)Android 自定义蓝牙扫描动画:多波浪扩散效果
  • 初阶8 list
  • [力扣每日一练]关于MySQL和pandas的正则表达式应用
  • 大文件版本管理git-lfs
  • 第 7 章 | Solidity 合约安全工具全指南:Slither、Echidna、Foundry 实战解析
  • 小程序中过滤苹果设备中的表情(即 emoji)
  • TCP 的 time_wait 有什么作用
  • React 18 核心技术深度解析:从并发渲染到异步数据流优化
  • NLP高频面试题(二十)——flash attention原理
  • vllm 离线推理Qwen2.5-VL-Instruct,API部署,支持max_pixels
  • WPF ContentPresenter详解
  • 机器人能否回到原点 - 简单
  • OpenHarmony NativeC++应用开发speexdsp噪声消除案例