如何打开已经 force-push 的 PR (branch was force-pushed or recreated)

本文详细介绍了在GitHub上关闭Pull Request后,如何通过force push更新分支并重新激活PR的过程。涉及记录commit ID,还原PR关联关系,以及重新推送最新更改的步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

问题描述:
  • 在 GitHub 上,我们关闭了 pull request,之后又向 PR 对应的分支 force push 了内容,导致 PR 无法重新打开,打开按钮是灰色的,如下图:
    在这里插入图片描述
解决方案
  1. 记录本地(force-push 之后)PR 分支的 commit ID
    这里实验分支名为 fix-test-20190704,实际操作时需要换成你的 PR 对应的分支
    # git log --oneline -1 fix-test-20190704
    03e4527a87 (HEAD -> fix-test-20190704 origin/fix-test-20190704) some comments
    
  2. 查看 GitHub 上已经关闭了的 PR 对应的 commit ID
    在这里插入图片描述
  3. 强推本地分支的 commit ID 为 PR 对应的 commit ID,还原其关联关系
    # git checkout fix-test-20190704
    # git push -f origin 9cec2f17afd7cae08ca47e84a414c387338803cd:fix-test-20190704
    
  4. 回到 GitHub 页面,发现 Reopen 按钮已经可用
    在这里插入图片描述
    点击 Reopen pull request 重新打开该 PR
  5. 重新推送最新的更改(第一步记录的 commit ID)
    # git push -f origin 03e4527a87986633c115030b90ab130f745f63d8:fix-test-20190704
    
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值