从 GitHub 上已删除的分支恢复作为拉取请求发送的提交

2024-03-27

我做了一件蠢事……

  1. I fork在 GitHub 上发布了一个存储库。
  2. 我做了一些改变,commit把它们放在我的叉子上。
  3. 我将此提交作为拉取请求回到原来的仓库。
  4. 愚蠢的部分来了:我deleted 我的叉子。

原始存储库的所有者要求在接受拉取请求之前对我的代码进行一些更改,我很乐意这样做。

我尝试重新分叉存储库,但我无法从拉取请求中签出提交,它甚至不存在“unlinked”提交(不属于任何分支或标签的提交,我不知道官方术语).

我的问题是:我怎样才能恢复提交作为拉取请求发送?

如果没有办法,可以选择在新提交中重新进行更改,但拉取请求将会丢失。 我的问题不是关于不丢失提交中的更改,而是关于不丢失git 历史记录,意味着保留提交的SHA1(以及我可能不知道的其他事情)。


有可能fetch将请求拉取到本地计算机 https://help.github.com/articles/checking-out-pull-requests-locally.

如果没有指向相关拉取请求的链接,则很难测试这是否有效,但您可以尝试

  1. 创建存储库的新分支,
  2. 克隆你的新叉子,
  3. fetch来自上游存储库的拉取请求,

    git remote add upstream https://github.com/User/repository.git
    
    $EDITOR .git/config
    # Add `fetch = +refs/pull/*/head:refs/remotes/upstream/pr/*` to
    # the relevant section, as outlined in the linked page. Note that
    # we use `upstream` instead of `origin` as the target.
    
    git fetch upstream
    
  4. merge将请求拉入本地存储库,例如

    git checkout master
    git merge --ff-only upstream/pr/1
    
  5. 进而push它回到你的新叉子上。

如果失败,您可以向 GitHub 提交支持请求,要求他们恢复您的存储库。来自一个有关安全的常见问题解答 https://help.github.com/articles/github-security#file-system-and-backups:

当用户删除存储库时,我们不会追溯性地从备份中删除存储库,因为如果存储库被意外删除,我们可能需要为用户恢复存储库。

要启动此过程,联系他们的支持团队 https://github.com/contact尽快地。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

从 GitHub 上已删除的分支恢复作为拉取请求发送的提交 的相关文章

  • 使用 Git 维护项目

    我有 2 个项目 实际上这 2 个项目彼此大约 80 相同 主要区别在于语言和商业模式 一个是针对使用英语的更多受众 并且有 9 美元 月的商业模式 另一个是使用本地语言与免费增值商业模式 有时 当我想添加新的特性 功能时 我想将其添加到两
  • 自动更改 github 文件

    我制作了一个带有白名单的应用程序 withelist 位于 github 存储库上 只有一个文件 即 withelist 每次下载我的应用程序的用户想要被允许使用该应用程序时 都必须向我发送一个消息插入白名单 现在这个过程真的很慢 我想加快
  • 如何使用 jenkins shell 创建新的 git 分支

    我想达到以下目标 在某些詹金斯工作中 从 dev branch 创建一个新分支 对新创建的分支 new branch 进行一些更改 将新创建的分支推送到 git repo 我在詹金斯中执行了以下步骤 我已经在 源代码管理 部分配置了我的 g
  • 使用与后期步骤中的 Shell 脚本中的克隆相同的 http git 凭据

    我想要自动化我们的发布过程 并且我有一个 Maven 项目的以下 Jenkins 构建作业 使用配置的 Jenkins 凭证 用户名 密码 克隆 Git 存储库 执行一些 Maven 命令以进行构建 配置一个后步骤来执行一些额外的 Git
  • 变基后无法推送到分支

    我们使用 git 并有一个 master 分支和开发人员分支 我需要添加一个新功能 然后将提交重新设置为 master 然后将 master 推送到 CI 服务器 问题是 如果我在变基期间发生冲突 我无法在变基完成后推送到我的远程开发人员分
  • BitBucket+Jenkins:仅在特定分支更改时触发构建

    以下是该问题的据称解决方案 尽管它看起来确实是一种解决方法 而不是最终的解决方案 有没有一种方法 通过作业配置或 bitbucket 挂钩配置 我可以将作业设置为仅在推送到特定分支时运行构建 是否可以仅从一个特定分支触发 Jenkins h
  • 如何删除“致命:松散物体”?

    我的一个克隆存储库是从 git fsck 获取的 致命 松散对象 40bda4e3b79c3d7bf598df31d9e68470f97a3f79 存储在 git objects 40 bda4e3b79c3d7bf598df31d9e68
  • 即使给出了公钥,Gitosis 也需要密码

    我在 Archlinux 上尝试配置 gitosis 时遇到了一些问题 http wiki archlinux org index php Setting Up Git ACL Using gitosis http wiki archlin
  • 合并分支时,Git 不显示已删除行的当前/传入更改

    我正在尝试了解有关 git 分支 合并的更多信息 一直以来只使用 master 分支 我分支两次 然后执行合并 为什么 git 只显示新的冲突行 我想知道为什么删除 熊 根本没有突出显示为更改 您已经在评论中介绍了其中的一些内容 但让我们把
  • 有什么方法可以有效地应用大型 git 补丁吗?

    我们收到了一个大补丁 修改了大约 17000 个文件 其大小为5 2G 应用补丁时git apply 3 12个小时后还没有完成 我们将每个文件的补丁分成更小的补丁 然后一一应用它们 这样至少我们可以看到进度 再次卡在一个文件补丁上 仍然有
  • git am:补丁格式检测失败

    我以前从未在 Git 中使用过补丁 我需要一些帮助 我正在尝试将补丁应用到 Git 存储库来测试 Wine 补丁 特别是这个补丁在这里 https bugs winehq org attachment cgi id 60752 所以我做了以
  • 我可以在 git 中使用单个命令推送到多个存储库吗?

    基本上我想做一些类似的事情git push mybranch to repo1 repo2 repo3 现在我只是多次输入push 如果我急于完成push 我只需将它们全部发送到后台git push repo1 git push repo2
  • Git 中的提交是越多越好还是越少越好? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 我最近与一位同事进行了一场辩论 他坚持认为 由于合并冲突 提交越少越好 我认为通过使用尽可能多的提交获得的细节越多越好 提交更多还是更少更好 为
  • 通过 SFTP 克隆 Git 存储库

    每次我尝试克隆 Git 存储库时都会遇到致命错误 我运行这个 git clone sftp email protected cdn cgi l email protection git foobar git 我得到这个 fatal Unab
  • 如何使用 Github Pages 分支正确提交到存储库中

    我有一个问题 情况基于gh pages https pages github com 我的项目使用预处理器和其他困难的人员 因此 我的项目结构如下所示 主分支 src node modules public js css etc index
  • 将新更新从原始 GitHub 存储库提取到分叉的 GitHub 存储库

    我在 GitHub 上分叉了某人的存储库 并希望使用原始存储库中的提交和更新来更新我的版本 这些是在我分叉我的副本后制作的 如何提取在源中所做的更改并将它们合并到我的存储库中 您必须将原始存储库 您分叉的存储库 添加为远程存储库 来自有关分
  • 恢复后如何挑选提交?

    我正在研究我的feature branch并在审核后合并到development待部署 后来 一位同事决定发布一个版本 并将他和我的合并到master 在部署时 他意识到他的代码有错误并恢复了master 在我们的分叉和拉动流程中 这意味着
  • 如何共享/扩展/重用/引用 GitHub Workflow?

    我有两个工作流程 一种方式是通过推送到 master 来部署到测试环境 另一个在发布到生产环境时部署 它们90 相同 代码复制粘贴 是否有一个概念 例如提取部分重复逻辑并将其放入自己的文件 部分 片段中 GitHub Actions 中的重
  • 如何归档旧的 git 标签?

    我的 git 存储库中有一些不再重要的旧标签 我想存档标签 以便在运行 git tag 时默认情况下它们不会显示 我不想删除它们 因为我想保留历史记录 我怎样才能做到这一点 可以将标签保留在存储库中并避免将它们列为标签 它还可以避免默认克隆
  • 如何使用 BFG 删除受保护的提交

    使用 BFG 清理存储库时 https rtyley github io bfg repo cleaner https rtyley github io bfg repo cleaner 遇到以下情况 Protected commits T

随机推荐

  • 如何将自定义日志发送到 Google Play 开发者控制台?

    我已将我的 Android 应用程序上传到谷歌游戏 我的应用程序运行良好 但在某些设备上 它存在一些问题 每当我的应用程序崩溃时 Google Play 开发者控制台都会收到该错误 就像是 java lang RuntimeExceptio
  • 当我在终端中创建新分支时,为什么图表不显示从主分支分支出来的新分支?

    当我在终端中创建一个名为 testing123 的新分支时 为什么 Sourcetree 中的图表不显示从主分支分支出来的新分支 Sourcetree 识别新分支 但它不会从图中的主分支分支出来 为什么会出现这种情况 如何使 Sourcet
  • 如何设置 NSTextView 的默认字体?

    我正在使用禁用 富文本 选项的文本视图来显示一些纯文本 我找不到设置默认字体的方法 如果我在 IB 中输入一些文本 无论如何我都不想要 我可以在 IB 界面中设置字体 但是当用户删除字体并开始键入时 文本会更改为不同的字体和大小 我在这里阅
  • 用 python 替换文件名字符

    我有一些代码将单词 manual 添加到一堆文件名的末尾 我需要更改脚本 以便删除文件名的最后两个字母 ES 然后将其替换为 ES Manual 例如 AC 5400ES txt gt AC 5400 ES manual txt 我如何将该
  • 无法通过 Microsoft Graph API(C# 控制台)发送电子邮件

    我按照这 2 个链接创建了一个控制台应用程序 用于使用 Graph API 发送电子邮件 Microsoft Graph API 无法发送电子邮件 C 控制台 https stackoverflow com questions 574112
  • Docker Buildkit --mount=type=cache 用于缓存 .NET 6 的 Nuget 包

    我写了一个Dockerfile使用 Docker buildx mount type cache设置缓存我的 NuGet 包以加快构建速度 正如所示 这似乎在 NET 5 中有效其他问题 https stackoverflow com qu
  • 嵌入到java中的网络浏览器[重复]

    这个问题在这里已经有答案了 可能的重复 有没有办法在Java中嵌入浏览器 https stackoverflow com questions 48249 is there a way to embed a browser in java 我
  • 如何在 For Each...Next 循环中获取对象的索引?

    我使用以下语法来循环列表集合 For Each PropertyActor As JCPropertyActor In MyProperty PropertyActors i IndexOf PropertyActor Next 如何获取循
  • Selenium 下载完整的 html 页面

    我正在学习使用 Python Selenium 和 BeautifulSoup 进行网页抓取 目前 我正在尝试抓取Google搜索趋势上的热门搜索http www google com trends hottrends pn p5 http
  • 按索引动态添加项目到 List 而不使用 .Add()

    我试图将项目添加到列表中without动态使用 Add 请注意 由于我的项目的性质 我无法使用字典或简单数组甚至 HashSet 等替代数据结构 我需要一个锻炼解决方案来解决以下问题 List
  • ipython笔记本:如何并行化外部脚本

    我正在尝试使用 ipython 并行库中的并行计算 但我对此知之甚少 并且我发现对于对并行计算一无所知的人来说很难阅读该文档 有趣的是 我发现的所有教程都只是重复使用文档中的示例 并具有相同的解释 在我看来 这是毫无用处的 基本上我想做的是
  • 获取地点的纬度和经度 dbpedia

    我想获取一个我已经知道其名称的地点的纬度和经度 PREFIX geo
  • 有没有办法从 Ruby 中的实例调用私有类方法?

    以外self class send method args 当然 我想在类和实例级别提供一个相当复杂的方法 而不需要重复代码 UPDATE Jonathan Branam 这是我的假设 但我想确保没有其他人找到解决方法 Ruby 中的可见性
  • Objective-C:检查是否使用枚举选项

    我有一个使用 typedef 枚举的自定义对象 如果我为对象设置了一些枚举选项 如何检查这些选项是否正在使用 typedef enum Option1 Option2 Option3 Options 创建对象时我可能会使用 myobject
  • 异步 ASP.NET Web API 中的 ThreadStatic

    是否有可能在单个请求中使用线程静态变量 当前代码使用线程静态变量进行日志记录 现在我们想要使用异步控制器方法 具有异步和等待模式 这会导致问题 因为打开新线程时该变量为空 await会导致线程跳转 所以线程静态变量自然会出现问题 要解决此问
  • 实现 MutationObserver 代替 DOMSubtreeModified

    我有一个select multiple 我已经上过课custom multiselect在我正在捕捉的页面上DOMSubtreeModified事件如下 HTML
  • 使用Python直接向USB发送信号

    如何使用 Python 将 USB 端口连接设置为高或低 这可用于定制 USB 设备 例如 假设我有一个 LED 连接到 USB 端口 数据线 现在通过代码我想闪烁它或控制它 现在 这可以通过使用任何微控制器 Arduino Raspber
  • Android studio 的aspectj - AJDT 插件在哪里

    如何为 android studio 安装 AJDT 我知道 Eclipse 有一个 但我在 android studio 中找不到任何东西 我想做的是在启动之前对我的每个方法调用进行安全检查 我已经从这个网站尝试过AJDT http ec
  • 如何使用 ant build.xml 导入现有的 java web 项目

    我正在尝试使用导入功能将现有的 java web 项目 使用 ant build xml 构建 导入到 Eclipse 中 但 Eclipse 无法将其识别为项目 如何将项目导入到eclipse中 编辑 我所做的是将项目导入为 Java 项
  • 从 GitHub 上已删除的分支恢复作为拉取请求发送的提交

    我做了一件蠢事 I fork在 GitHub 上发布了一个存储库 我做了一些改变 commit把它们放在我的叉子上 我将此提交作为拉取请求回到原来的仓库 愚蠢的部分来了 我deleted 我的叉子 原始存储库的所有者要求在接受拉取请求之前对