You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将Master分支中featureA、featureB变更作为单commit合入release分支

操作步骤

1. 提取featureA、featureB的提交哈希

两个功能的提交已合并到Master分支,直接在Master分支查询提交日志即可,无需使用reflog:

# 切换到本地Master分支,同步远程最新内容
git checkout master
git pull origin master
# 打印简洁版提交日志,找到featureA、featureB对应的所有提交哈希并记录
# 若PR是squash合并,每个PR仅对应1个提交;若为普通合并,对应多个提交,需全部按时间顺序记录
git log --oneline

你也可以直接在代码托管平台的已合并PR详情页,直接复制该PR包含的所有提交哈希,效率更高。

2. 创建releaseAB分支并遴选提交

基于最新release分支创建目标分支:

# 切换到release分支,同步远程最新内容
git checkout release
git pull origin release
# 创建并切换到releaseAB分支
git checkout -b releaseAB

按时间从早到晚的顺序,将记录的featureA、featureB提交遴选到当前分支:

# 将尖括号内容替换为你记录的提交哈希,多个哈希按时间先后依次排列即可
git cherry-pick <featureA最早提交哈希> <featureA其他提交哈希> <featureB最早提交哈希> <featureB其他提交哈希>

若遴选过程中出现冲突,解决冲突后执行git add .,再运行git cherry-pick --continue即可继续执行。

3. 合并为单个提交

将releaseAB上新增的所有feature相关提交压缩为1个:

# 查询当前releaseAB分支比release分支多的提交数量,记为n
git log --oneline release..releaseAB
# 执行交互式变基,n替换为上一步查到的提交数量
git rebase -i HEAD~n

弹出的编辑界面中,将除第一个提交外其他所有提交前的pick修改为s(squash的缩写),保存退出后编辑提交信息,再次保存即可完成提交合并。

4. 推送分支创建PR

将本地分支推送到远程仓库后即可创建PR:

git push origin releaseAB

内容的提问来源于stack exchange,提问作者ketan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 16:09:03