首页/新闻资讯/正文详情

Git 小技巧:如何只合并某个分支最近的几个提交,只要最新改动,不要以前的历史

发布时间:2026/9/26 5:24:23 来源:云帆数科 栏目:资讯中心
Git 小技巧:如何只合并某个分支最近的几个提交,只要最新改动,不要以前的历史
前言在日常开发中我们经常会遇到这种需求当前有一个比较稳定的基础分支(比如dev)另外有一个功能分支(可能只存在于远程)现在想基于基础分支新建一个分支只把功能分支最近的 12 个提交合过来而不想把该功能分支更早的历史内容一并带上如果直接merge会把整个功能分支的历史都合并进来这通常不是我们想要的结果。更干净的做法是使用cherry-pick。一、先确认远程分支是否存在很多人会直接执行git log source-branch -2 --oneline结果报错fatal: ambiguous argument source-branch: unknown revision or path not in the working tree.这通常是因为目标分支只存在于远程本地还没有对应的引用。先执行git fetch origin git branch -r确认远程是否存在类似origin/source-branch的分支。二、推荐操作步骤假设基础分支base-branch想抽取提交的分支origin/source-branch新建分支名new-branch完整命令如下# 1. 拉取最新远程信息 git fetch origin # 2. 切换到基础分支 git checkout base-branch # 3. 基于基础分支创建新分支 git checkout -b new-branch # 4. 只把 source-branch 最近的两个提交 cherry-pick 过来 git cherry-pick origin/source-branch~2..origin/source-branch命令解释origin/source-branch~2表示该分支倒数第二个提交(不包含)origin/source-branch最新提交~2..origin/source-branch正好覆盖最近两个提交小提示如果想先确认具体是哪两个提交可以执行git log origin/source-branch -2 --oneline确认无误后再进行 cherry-pick。三、遇到冲突时怎么处理如果 cherry-pick 过程中出现冲突Git 会暂停操作。解决冲突后执行git add . git cherry-pick --continue如果想中途放弃本次操作git cherry-pick --abort四、完成后推送到远程git push -u origin new-branch总结当你只想「借用」某个分支最近的几次改动而不想引入它的完整历史时优先使用 cherry-pick而不是 merge。核心流程可以概括为三步基于稳定的基础分支创建新分支使用git cherry-pick 远程分支~N..远程分支精确抽取最近 N 个提交推送新分支掌握这个技巧后处理类似「只拿最新改动」的场景会灵活很多。

相关推荐

Docker 如何查看各个容器的内存占比?一篇实用指南
Docker 如何查看各个容器的内存占比?一篇实用指南

前言 在日常运维或排查问题时,经常需要快速了解每个 Docker 容器当前占用了多少内存,以及占总内存的比例。今天分享最简单、最常用的方法。 1. 最推荐的方式:docker stats 直接运行: docker stats 就会实时刷新所有正在运行容器的… · 2026/9/26 5:24:23

MIPI CSI-2波形分析实战:眼图、抖动与时序调试指南
MIPI CSI-2波形分析实战:眼图、抖动与时序调试指南

1. 为什么MIPI CSI-2的波形分析值得单独拿出来讲做嵌入式视觉或者手机Camera模组的朋友,对MIPI CSI-2这个接口肯定不陌生。它几乎成了当前图像传感器和主控之间通信的事实标准,从手机、安防摄像头、车载ADAS到工业相机,到处都能看到它的身影。… · 2026/9/26 5:24:23

open-code-review:基于Git的可审计代码审查协议
open-code-review:基于Git的可审计代码审查协议

1. “open-code-review”不是工具名,而是开源协作范式的重新定义很多人第一次看到“open-code-review”这个词,第一反应是:又一个新出的 CLI 工具?是不是类似codex cli或trae cli那种带 LLM 的代码审查命令行?我最初也… · 2026/9/26 5:24:17

Pytest实战指南:从fixture到参数化与插件扩展全解析
Pytest实战指南:从fixture到参数化与插件扩展全解析

Pytest 是我这几年用得最顺手的 Python 测试框架,没有之一。从刚接触自动化测试时只会写assert断言,到后来用动态参数化把几百条测试数据压进同一个用例,再到自己写钩子扩展框架行为,这条路走下来,我踩过的坑、绕过的弯… · 2026/9/26 6:36:44

VS Code v1.70.3 Windows 7 免安装版实战指南
VS Code v1.70.3 Windows 7 免安装版实战指南

简介:本资源是专为Windows 7用户定制的Visual Studio Code最终兼容版本(v1.70.3)解压即用包,面向仍需在老旧系统上进行开发、调试或轻量编码的程序员、教育工作者及技术爱好者,解决Win7停更后无法运行新版VSCode的现实… · 2026/9/26 6:36:44

金融系统开发前提:为何必须提供具体技术场景
金融系统开发前提:为何必须提供具体技术场景

我无法基于当前输入生成符合要求的博文。原因如下:项目标题为 "financial-services",这是一个高度泛化的行业术语,本身不构成具体可操作、可拆解、可复现的项目;项目正文为空,无任何功能描述、技术实现、业务… · 2026/9/26 6:36:44

给大模型装上“长期记忆”:AI记忆系统设计与落地实践
给大模型装上“长期记忆”:AI记忆系统设计与落地实践

写AI应用,最头疼的不是模型选型,也不是Prompt调优,而是“记忆”。做过AI助手、聊天机器人、Agent类项目的朋友应该都有体会:模型本身是“记不住事”的,你和它聊十句话,它可能连你第一句说过什么都忘了。我自… · 2026/9/26 6:36:44

ReentrantLock与AQS源码解析:从抢座位到队列机制
ReentrantLock与AQS源码解析:从抢座位到队列机制

抢座位的场景,我估计大家都经历过:上课铃响前,教室前排的好位置就那么几个,来得早的人先坐下,不来的人位置空着;一旦有人离开座位,旁边等的人立刻补上去。Java里的ReentrantLock干的事&#xff… · 2026/9/26 6:36:44

海光K100_AI跑MiniMax-H3视频生成全栈调优指南
海光K100_AI跑MiniMax-H3视频生成全栈调优指南

1. 项目概述:为什么海光K100_AI单卡跑MiniMax-H3视频生成,必须调优?最近两周,我连续在三台不同配置的国产AI工作站上部署MiniMax-H3模型用于视频帧生成任务,其中两台搭载海光K100_AI加速卡——不是NVIDIA A100或H100&a… · 2026/9/26 6:36:38

数据库课后习题答案别硬背:当测试用例集刷,效率翻倍
数据库课后习题答案别硬背:当测试用例集刷,效率翻倍

简介:万常选版《数据库原理与设计》课后习题答案资源,覆盖第2至6章及第9章,适合正在学习关系模型、数据库建模、关系数据理论与模式求精的本科生、自学者作为复习与自测材料。压缩包共7个文件,含3个doc参考答案、2个sql示例脚本、… · 2026/9/26 0:00:21

OpenClaw 替代品?Hermes Agent 踩坑实录:macOS 飞书接入 TaoToken 配置
OpenClaw 替代品?Hermes Agent 踩坑实录:macOS 飞书接入 TaoToken 配置

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/26 0:00:40

向下兼容与向上兼容:接口设计中的兼容性策略与工程实践
向下兼容与向上兼容:接口设计中的兼容性策略与工程实践

一次版本升级事故,是很多团队绕不过去的坎。线上环境里,服务端明明已经上线了新版接口,老的移动端还在照着旧文档传参数。请求一到网关,校验直接拒绝,用户操作失败,客服群炸了锅,开发群里开始互… · 2026/9/26 0:00:46

了解更多?预约专属演示

我们的顾问将为您一对一讲解产品与方案

企业微信二维码