git Cherry-Pick合并分支上的某些commits-》Android studio

在 Git 中,合并"某些特定的 Commits"而不是合并整个分支的操作被称为 Cherry-Pick(优选/摘取)。

以下是专门为你准备的 Android Studio Cherry-Pick 操作指南。


Android Studio Git Cherry-Pick 操作指南

场景描述

假设你正在 release 分支(目标分支)上工作,需要把 dev 分支(源分支)上的 某一个或几个特定的 Bug 修复提交 合并过来,但不想合并 dev 上的其他未完成功能。

核心步骤概览

  1. 切换 到目标分支(接收代码的分支)。
  2. 在 Git 记录中 筛选 出源分支。
  3. 选中 需要的 Commit 并执行 Cherry-Pick。
  4. 处理可能出现的 冲突。
  5. Push 到远程仓库。

详细图文步骤

第一步:切换到目标分支

首先,确保当前 Android Studio 的工作环境是在你想要合并进代码的那个分支上。

  • 操作 :点击右下角的分支名称,选择目标分支(例如 master 或 release),点击 Checkout。

第二步:打开 Git 历史记录

找到 Android Studio底部的 Git 标签页(旧版本可能叫 Version Control)。

  • 操作 :点击底部的 Git 选项卡,确保左侧选中了 Log 面板。

第三步:查找源分支的 Commits

你需要查看包含那几个 Commit 的源分支历史。

  1. 在 Git Log 面板的顶部工具栏中,找到分支过滤器(通常显示为 Head 或 Current Branch)。
  2. 点击它,选择包含你想要代码的源分支 (例如 feature/login-fix)。
    • 注意:此时不要 Checkout 过去,只是在 Log 里查看它的历史。
  3. 现在列表中显示的就是源分支的提交记录了。

第四步:执行 Cherry-Pick

  1. 在列表中找到你想要合并的那一个(或按住 Ctrl/Command 键多选几个)Commit。
  2. 右键点击 选中的 Commit。
  3. 在弹出的菜单中选择 Cherry-Pick 。

提示:Android Studio 会尝试自动将这些 Commit 的改动应用到你当前所在的分支,并自动生成新的 Commit。

第五步:处理冲突(如果有)

如果运气好,操作会直接完成,你会看到提示 "Cherry-pick successful"。

如果修改的文件在两个分支都有变动,会弹出 Merge Conflicts 窗口。

  1. 在冲突列表中,双击文件名打开合并视图。
  2. 左侧 是你当前分支的代码,右侧 是你要合并进来的代码,中间是最终结果。
  3. 点击 >> 或 << 箭头来决定保留哪部分代码。
  4. 处理完所有冲突后,点击 Apply。

第六步:推送代码 (Push)

Cherry-Pick 成功后,这些改动已经变成了你本地分支上的新 Commit。

  • 操作 :按 Ctrl + Shift + K (Windows) 或 Cmd + Shift + K (Mac),或者点击菜单栏 Git -> Push,将变动推送到远程仓库。

常见问题 (Q&A)

Q: Cherry-Pick 后,Commit ID 会变吗?

A: 会变。虽然代码内容和提交信息(Message)是一样的,但在 Git 看来这是一个全新的提交,会生成一个新的 Hash 值。

Q: 如果我想合并一连串的 Commits 怎么办?

A: 在 Git Log 界面,你可以按住 Shift 键,点击第一个和最后一个 Commit 来进行范围选择,然后右键 Cherry-Pick。

Q: 我后悔了,怎么撤销刚才的 Cherry-Pick?

A: 如果还没有 Push,可以在 Git Log 中右键点击刚才生成的那个 Commit,选择 Undo Commit 或者 Reset Current Branch to Here... (选择上一个节点)。


附录:命令行方式 (备用)

如果你觉得 UI 操作卡住了,可以使用 Android Studio 下方的 Terminal 输入命令:

  1. 切换到目标分支:
    git checkout release
  2. 执行 Cherry-Pick (需要知道 commit 的 hash 值,如 a1b2c3d):
    git cherry-pick a1b2c3d
  3. 如果没冲突,直接 Push 即可。
相关推荐
aqi001 小时前
鸿蒙版本的电子书阅读APP开放源码啦
android·华为·ai编程·harmonyos·鸿蒙
墨天梦1 小时前
B19_SunnyWeather到阅读客户端
android·kotlin
美狐美颜sdk2 小时前
直播APP源码可以直接接入视频美颜sdk吗?技术方案详解
android·人工智能·音视频·美颜sdk·直播美颜sdk
用户69371750013845 小时前
2026,程序员的时代拐点到了
android·前端·后端
浪潮IT馆6 小时前
Android Studio 非最新版本下载安装教程
android·ide·android studio
xiaozongt19898 小时前
MasterGo + Claude Code 生成 Android 布局:完整实践指南
android
Anhty9 小时前
2026最新免费手机音频处理工具 !!
android·功能测试·ios·智能手机·音视频
2501_9159090611 小时前
iOS应用从开发到上架App Store的完整发布流程与步骤指南
android·ios·小程序·https·uni-app·webview
狗凯之家源码网11 小时前
AI 步数修改提交系统源码应用场景与落地指南
android·数据库·人工智能·运动步数
ZHOUPUYU12 小时前
PHP 9.0 前瞻:下一代 PHP 会带来哪些新功能?
android·开发语言·php