问题描述

申请合并时出现:Merge blocked: the source branch must be rebased onto the target branch.
在这里插入图片描述

要求

  • source branch 的提交内容要合成一条 commit 才能合并到 target branch

解决方案

1. 先取消合并请求,把 target branch 合并到 source branch,解决冲突

2. 把 source branchcommit rebase 成一条

  1. 命令行模式输入git log 查看提交的历史记录
  2. 选择要合并到提交的最后一条,比如:
    在这里插入图片描述
  3. 命令行输入 git rebase -i [你要合并到的提交信息],比如
    git rebase -i 9d99f77fbcf39cf57a72a86f80a909d27944061b
    
  4. 进入配置选项界面,每一项选择 Squash 表示此项提交并融入到上一次提交,选完后点击 CONTINUE
    • 关于 Squash 的选项是符合当前需求的,如果有其他需要可以按需选择其他项
    • 此处使用 rebase 的好处就是能够把所有 commit 合并到一条 commit 保持历史的干净整洁
  5. 如果没有冲突,如果有冲突,则解决完冲突后,命令行输入 git rebase --continue,(没有冲突就会直接进入)进入历史信息编辑界面,把所有不需要的历史 commit 信息用 # 注释即可,保留需要的 commit 信息,保存退出
  6. 最后一步,强制推送即可 rebase 完毕

3. 再次把 source branch 申请合并到 traget branch 即可

  1. 点击合并请求
    在这里插入图片描述
  2. 新建合并请求
    在这里插入图片描述
  3. 填好要合并的分支信息
    在这里插入图片描述
  4. 填好两个分支后点击以下按钮即可
    在这里插入图片描述
  5. 出现此提示说明可以合并成功
    在这里插入图片描述
Logo

瓜分20万奖金 获得内推名额 丰厚实物奖励 易参与易上手

更多推荐