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

Git分支实操问题:如何仅将feature-2改动推送到master而不带feature-1内容

仅将feature-2改动推送至master的操作方案

要实现这个需求的核心前提是保证feature-2的开发分支完全不包含已提交到develop的feature-1改动,具体操作步骤如下:

常规操作流程(还未开始开发feature-2的场景)

  • 首先切换到本地master分支,同步远程最新的master代码,确保本地master没有多余改动:
git checkout master
git pull origin master
  • 从当前干净的master分支创建feature-2的独立开发分支:
    git checkout -b feature-2
  • 在feature-2分支上完成所有开发、提交操作,本地测试通过后执行后续合并操作
  • 切换回master分支,合并feature-2的改动:
git checkout master
git merge feature-2
  • 合并完成无冲突后,将本地master的改动推送到远程:
    git push origin master

异常场景处理(已经从develop分支创建了feature-2并完成开发)

如果已经错误从包含feature-1的develop分支创建了feature-2,可以用cherry-pick单独提取feature-2的所有提交:

  • 先同步本地master到最新版本:
git checkout master
git pull origin master
  • 查看feature-2分支的提交记录,记录下所有属于feature-2的提交哈希值,按提交时间从早到晚排序:
    git log feature-2
  • 在master分支上按顺序执行cherry-pick操作,提取所有feature-2的提交:
    git cherry-pick <较早的提交哈希> <较新的提交哈希> ...
  • 若cherry-pick过程中出现冲突,解决冲突后执行git cherry-pick --continue,直到所有提交都提取完成
  • 推送更新后的本地master到远程即可:
    git push origin master

补充说明

如果后续需要将feature-2的改动同步到develop分支,只需要切换到develop分支后执行git merge feature-2即可,不会影响develop上已有的feature-1改动。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 07:45:04