【问题标题】:Delete a closed pull request from GitHub从 GitHub 删除已关闭的拉取请求
【发布时间】:2013-08-21 12:05:03
【问题描述】:

我不小心发出了错误的拉取请求,最终自己关闭了请求。它现在处于关闭状态,但可以通过直接 URL 访问并显示在我的活动栏上。

有什么方法可以完全删除拉取请求,使其不再可以通过 URL 访问或显示在您的活动历史记录中?

【问题讨论】:

  • 没有。你只能关闭它。
  • GitHub 帐户和 UI 相关问题最好向WebApps.StackExchange.com 或直接向他们提供支持
  • 您可以通过删除和重新创建存储库来摆脱所有拉取请求(以及 LFS 文件等其他内容)。大多数时候你负担不起,但如果你早点搞砸,它会有所帮助。
  • 大 Q 和 SO 橘子的另一个受害者。答案也很好。

标签: github pull-request


【解决方案1】:

您无法删除拉取请求您自己 - 您和 repo 所有者(以及所有有权访问它的用户)可以关闭它,但它会保留在日志中。这是不否认/隐藏开发过程中发生的事情的哲学的一部分。

但是,如果有重大原因需要删除(这主要是违反 Github 服务条款),Github 支持人员会为您删除。

他们是否愿意为您删除您的 PR,您可以轻松询问他们,只需发送电子邮件至 support@github.com 即可

更新: 目前 Github 需要在此处创建支持请求:https://support.github.com/contact

【讨论】:

  • 他们(Github 员工)只删除包含敏感数据的拉取请求。
  • 一些有用的信息:help.github.com/articles/… "...您可以通过联系 GitHub 支持永久删除 GitHub 上所有存储库的缓存视图和拉取请求。"
  • 好伤心。我大约每周提交一次糟糕的 PR,因为我正在维护一个分叉的 repo,并且默认的 PR 是头部。在某些时候,我们需要从 mai 分支出来,但现在......无数关闭的公关
  • 为了它的价值,我今天联系了 GitHub 支持,请求删除错误提交给我作为管理员的另一个存储库的 PR。他们为我删除了它并且非常好。 :)
  • 我想我必须添加我的 SSN + 出生日期才能删除此 PR :(
【解决方案2】:

这是我要求他们删除拉取请求时从 Github 收到的回复:

“感谢您与我们联系!目前无法通过 UI 删除拉取请求,我们只会删除包含密码或其他凭据等敏感信息的拉取请求。”

【讨论】:

    【解决方案3】:

    如果您从分叉的存储库发出拉取请求,则只需 5 步即可:

    1. 重新打开拉取请求
    2. 结帐到您提出拉取请求的分支
    3. 将提交重置为最后一次主提交(这意味着删除所有新代码)。命令:git reset --hard commit_hash_here
    4. git push --force
    5. 删除发出拉取请求的分叉存储库

    一切都完成了,祝你好运!

    【讨论】:

    • 即使 repo 不是分叉也可以。只需确保先备份分支即可。
    • 这实际上并没有删除 PR。它只是关闭 PR 并且 PR 在日志中仍然可见
    • 这种方法的一个重点是确保在强制推送之前重新打开 PR。即 step1 是您进行下一步之前的必须步骤。否则,一旦你强制推送你的更改,你就不能重新打开 PR。如果以防万一,您没有执行第 1 步并强制推送,您仍然可以通过繁琐的解决方法重新打开 - github.com/isaacs/github/issues/361#issuecomment-219088644
    • 即使我按照包括步骤 1 在内的步骤进行操作,它也不起作用。PR 变成了 closed 状态,并且仍然列在关闭的 PR 列表中。
    【解决方案4】:

    其实很简单:

    你可以清空它,这是你能做的最好的。

    1. 去你当地的

    2. 将您的本地分支unwanted-branch针对该 PR 已打开)复制到新的分支 new-branch。如果您出于任何原因要备份它,则此复制是相关的。否则转到第 3 步。

      • $ git branch -b new-branch
      • $ git merge unwanted-branch
      • $ git push
    3. 清空unwanted-branch

      • $ git checkout unwanted-branch
      • $ git reset --hard HEAD~n#n is the number of commit the branch has
      • $ git push -f

    享受吧,你的 PR 是空的,现在已经关闭了 ;)。如果它打扰您,请转到远程并删除不需要的分支。

    【讨论】:

    • 如果敏感数据与 PR 一起发布,这将清空 PR,但 OP 希望完全删除存储库的贡献活动和已关闭 PR 列表中的 PR。显然这是不可能的。
    • 是的,git 道德不允许这样做。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-08-27
    • 2019-10-04
    • 2016-12-11
    • 2014-01-25
    • 2015-04-30
    相关资源
    最近更新 更多