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

如何正确推送多个Feature分支至远程仓库?PR冗余提交问题排查

问题根源

你的核心问题是:每次开发前,本地main分支没有和远程main分支保持完全一致,反而把未合并到远程的feature分支提交合并到了本地main,导致后续新分支继承了这些未被审核的提交。

修正后的开发流程

完全抛弃之前第7步的操作,改用以下流程:

  1. 克隆远程仓库后,始终确保本地main是最新的:
    git checkout main
    git pull origin main
    
  2. 基于最新的本地main创建新的feature分支:
    git checkout -b feature/new-function
    
  3. 在feature分支开发,做原子提交:
    git add .
    git commit -m "feat: 实现XX功能的某一部分"
    
  4. 推送远程feature分支并创建PR:
    git push origin feature/new-function
    
  5. 当一个PR被合并到远程main后,再更新本地main:
    git checkout main
    git pull origin main
    
  6. 基于更新后的本地main创建下一个feature分支,重复流程。
紧急修复现有问题的方法

如果现在本地main已经混杂了未合并的提交,先重置本地main到远程main的状态:

git checkout main
git fetch origin
git reset --hard origin/main

之后再按照修正后的流程开发新功能。

关键注意事项
  • 绝对不要在本地main分支合并任何未被远程main接受的feature分支提交
  • 每次开新分支前,必须拉取远程main的最新代码,确保新分支的起点是干净的远程main
  • 如果需要在多个feature分支间共享代码,不要合并到main,而是用git cherry-pick把需要的提交复制到目标分支,或者创建专门的开发分支临时共享

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.16 04:45:56