【Github】sync fork后,意外关闭之前提交分支的pr申请 + 找回被关闭的pr请求分支中的文件

这篇具有很好参考价值的文章主要介绍了【Github】sync fork后,意外关闭之前提交分支的pr申请 + 找回被关闭的pr请求分支中的文件。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。


【Github】sync fork后,意外关闭之前提交分支的pr申请 + 找回被关闭的pr请求分支中的文件,开源社区github,github

🌈你好呀!我是 是Yu欸
🌌 2024每日百字篆刻时光,感谢你的陪伴与支持 ~
🚀 欢迎一起踏上探险之旅,挖掘无限可能,共同成长!

写在最前面

尝试用自己的方法理解,并初步解决了该问题。路过大佬如如果了解这个问题,还请多多指教!

先fork主仓库A,到我自己的仓库B。然后一段时间后,仓库B新增更新b,同时关于b的pr请求没有被合并。在此期间,仓库A更新了很多其他内容。在仓库B点击sync fork后,为什么会关闭之前提交分支的pr申请?

所属专栏:开源社区github

历史相关文章:【GitHub主页】优化简历
【GitHub】如何在github上提交PR(Pull Request) + 多个pr同时提交、互不干扰

【Github】sync fork后,意外关闭之前提交分支的pr申请 + 找回被关闭的pr请求分支中的文件,开源社区github,github

找不到原来的源文件了。

【Github】sync fork后,意外关闭之前提交分支的pr申请 + 找回被关闭的pr请求分支中的文件,开源社区github,github

参考:github官方文档:同步复刻

【Github】sync fork后,意外关闭之前提交分支的pr申请 + 找回被关闭的pr请求分支中的文件,开源社区github,github

原因解析

当您点击 “Sync Fork” 同步您的 fork 时,GitHub 会将原始仓库(这里是仓库 A)的最新更改拉取到您的 fork(仓库 B)中。这个操作实际上是在您的 fork 中创建一个新的本地分支,该分支与原始仓库的主分支(通常是 mainmaster)保持同步。

如果您的 Pull Request 基于一个之前提交的分支,而该分支在您点击 “Sync Fork” 之后被删除或者重写了(即通过新的提交覆盖了之前的提交),那么与该分支相关的 Pull Request 会被关闭。这是因为 GitHub 认为您的分支已经不再存在,所以相应的 Pull Request 也不再适用。

解决这个问题的方法之一是在您点击 “Sync Fork” 之前,确保您的 Pull Request 基于的分支在原始仓库中仍然存在,并且没有被更新或删除。如果分支已被更新,您可以将您的本地分支重新基于原始仓库的最新状态,然后再次提交 Pull Request。

如果您对自己的 fork 进行了一些重要的更改,但是又想保持与原始仓库的同步,您可以考虑使用 Git 的 rebase 或者 merge 命令来将原始仓库的更改合并到您的分支中,而不是直接点击 “Sync Fork”。这样可以更好地控制您的分支和提交历史。

提交pr,pr是什么?

PR 是 Pull Request(拉取请求)的缩写。Pull Request 是一种在开源项目中进行协作的方式。当您 fork 一个仓库并在其基础上进行更改后,您可以向原始仓库的所有者发送 Pull Request,请求他们将您所做的更改合并到他们的仓库中。

通常,Pull Request 包含以下信息:

  1. 基础(Base)分支:您希望将更改合并到的目标分支。通常是原始仓库的主分支,比如 mainmaster 分支。

  2. 对比(Compare)分支:包含您所做更改的分支。通常是您 fork 出的仓库中的一个分支,您可能已经在该分支上进行了一些更改。

  3. 标题和描述:Pull Request 的标题是对所做更改的简要描述,而描述则是对更改的详细说明,可以包括更改的目的、解决的问题、所做的修改等信息。

  4. 相关问题和标签:您可以将 Pull Request 与仓库的问题(issue)相关联,以便更好地跟踪工作进度。您还可以为 Pull Request 添加标签,以便更容易地对其进行分类和筛选。

一旦您提交了 Pull Request,仓库的维护者可以审查您所做的更改,并提供反馈或者接受并合并您的更改。这种方式使得多人协作开发变得更加简单和透明。

rebase 或者 merge 命令

当您想将原始仓库的更新合并到您的分支时,您可以使用 git rebase 或者 git merge 命令。

  1. 使用 git rebase 命令
git checkout your_branch  # 切换到您的分支
git fetch upstream  # 拉取原始仓库的更新
git rebase upstream/main  # 将原始仓库的 main 分支上的更新 rebase 到您的分支上

这会将原始仓库的更新添加到您的分支上,并在您的提交历史中按照更新的顺序重新排序。请注意,使用 git rebase 会改写您的提交历史,因此请在确认您的更改不会影响其他人的工作之后再使用此命令。

  1. 使用 git merge 命令
git checkout your_branch  # 切换到您的分支
git fetch upstream  # 拉取原始仓库的更新
git merge upstream/main  # 将原始仓库的 main 分支上的更新合并到您的分支上

这会在您的分支上创建一个新的合并提交,将原始仓库的更新合并到您的分支上。与 git rebase 不同,git merge 会保留原始的提交历史。

在这两种情况下,upstream 是原始仓库的别名,您需要将其替换为原始仓库的实际 URL 或者名称。

执行完上述命令后,您可以将您的分支推送到您的 fork 中:

git push origin your_branch  # 推送您的分支到您的 fork 中

这样就可以将原始仓库的更新合并到您的分支中,而不会影响您之前提交的 Pull Request。

找到分支中被删除的文件

找到被关闭的提交请求pr

方法1:在公共仓库被关闭的pr中大海捞针

【Github】sync fork后,意外关闭之前提交分支的pr申请 + 找回被关闭的pr请求分支中的文件,开源社区github,github

方法2:在请求申请中点击Compare对比

【Github】sync fork后,意外关闭之前提交分支的pr申请 + 找回被关闭的pr请求分支中的文件,开源社区github,github

在Comparing changes中

可以看到有改变的地方

https://github.com/PaddlePaddle/community/compare/b946e34e4836b8cc72f61ff3ea4fbdb622ba8b2d…30a86d3fe24b1bcf465f5186ddfd00ef135c351b?diff=unified&w=#diff-9ef9299f5418b9be474550ff88e351c9ded72d153344825bf4b2074537d74572

换到Unified后,可以更清晰的看到改变的文件

【Github】sync fork后,意外关闭之前提交分支的pr申请 + 找回被关闭的pr请求分支中的文件,开源社区github,github

红色是被删除的,绿色是新增的

【Github】sync fork后,意外关闭之前提交分支的pr申请 + 找回被关闭的pr请求分支中的文件,开源社区github,github

可以查看改变的文件

选择点击chaged files,可以查看改变的文件

【Github】sync fork后,意外关闭之前提交分支的pr申请 + 找回被关闭的pr请求分支中的文件,开源社区github,github

在改变的文件中,可以看到分辨:新增】合并】删除

【Github】sync fork后,意外关闭之前提交分支的pr申请 + 找回被关闭的pr请求分支中的文件,开源社区github,github
【Github】sync fork后,意外关闭之前提交分支的pr申请 + 找回被关闭的pr请求分支中的文件,开源社区github,github

所删除文件所在地址

https://github.com/PaddlePaddle/community/blob/b946e34e4836b8cc72f61ff3ea4fbdb622ba8b2d/rfcs/Article/(文章名)

这里可以下载被误删的源文件

【Github】sync fork后,意外关闭之前提交分支的pr申请 + 找回被关闭的pr请求分支中的文件,开源社区github,github


欢迎大家添加好友,持续发放粉丝福利!文章来源地址https://www.toymoban.com/news/detail-859713.html

【Github】sync fork后,意外关闭之前提交分支的pr申请 + 找回被关闭的pr请求分支中的文件,开源社区github,github

到了这里,关于【Github】sync fork后,意外关闭之前提交分支的pr申请 + 找回被关闭的pr请求分支中的文件的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • github的fork,提交,回退

    点击fork - 不要勾选“Copy the master branch only”(因为最新的算法模块都在非主分支上) - 本地git clone 本地clone的代码,修改后- 更新、stage、(输入信息并)提交(本地git) - 同步更改(远程仓库) 说明:在同步更改前,需要登陆github账户 点击“77 commits查看所有提交状态”(当前

    2024年02月10日
    浏览(40)
  • 使用GitHub:创建仓库、提交更改、Fork一个仓库、同步Fork仓库。

    1、创建仓库 登录后——左上角“New”——Repository name(写入自己项目名称)——选中“Add a README file”——点击Create repository。 2、提交更改(提交一个对README文件的修改) (1)找到创建仓库的文件列表,单击README.md文件,点击编辑。输入用户所添加的信息:*。 (2)点击

    2024年02月12日
    浏览(46)
  • Git管理神器SourceTree使用教程详解(连接远程仓库,克隆,拉取,提交,推送,新建/切换/合并分支,冲突解决,提交PR)

    俗话说的好工欲善其事必先利其器,Git分布式版本控制系统是我们日常开发中不可或缺的。目前市面上比较流行的Git可视化管理工具有SourceTree、Github Desktop、TortoiseGit,综合网上的一些文章分析和自己的日常开发实践心得个人比较推荐开发者使用SourceTree,因为SourceTree同时支持

    2024年02月03日
    浏览(244)
  • 【Git】Github fork项目后如何拉取其他分支

    【前言】我们在Github里fork了一个仓库后会发现自己的仓库里只有一个分支,就是源仓库的主分支,这个时候我们想在其他分支上贡献代码,应该怎么办呢?因为有时候我们可能会想把修改同步到多个分支。 查看当前分支: 该仓库的主分支为release/2.6,此时我已经切换到了d

    2024年02月15日
    浏览(46)
  • 完美解决Github提交PR后报错:File is not gofumpt-ed (gofumpt)

    最近在Github上提交PR后,遇到了这么一个问题: golangci-lint 运行失败,具体原因是 File is not gofumpt-ed (gofumpt) 。 golangci-lint: golangci-lint 是Go语言社区中常用的代码质量检查工具,它可以帮助开发者发现代码中的潜在问题和不规范之处。它集成了多种代码检查工具,用于检查代码

    2024年02月13日
    浏览(57)
  • github 主分支如何阻止直接提交,只允许其他分支合并

    在 Github 上,可以通过保护主分支的设置来阻止直接提交,只允许其他分支合并。 具体步骤如下: 进入 Github 仓库的设置页面,点击 “Branches”(分支)选项卡。 在 “Branch protection rules”(分支保护规则)部分,点击 “Add rule”(添加规则)按钮。 在 “Branch name pattern”(分

    2024年02月11日
    浏览(57)
  • 如何通过git指令加入管理者仓库并提交分支(Github Gitee)

    GitHub: https://github.com/ Gitee : https://gitee.com/ 打开对应的网站之后可以直接通过邮箱创建账户 下载git 安装地址: https://git-scm.com/download 安装Git后右键桌面可显示 Git Bash 和 Git GUI Git GUI: Git提供的图形界面工具 Git Bash: Git提供的命令行工具 git基础配置 右键打开Git Bash输入 gi

    2024年02月07日
    浏览(61)
  • 如何解决Gitee提交pr冲突

    下面以system_cpu_probe冲突为例,介绍解决冲突的流程。 在此之前,建议了解一下git基本命令的原理。 可参考: git工作原理及提交规范【干货】 Git 原理入门 因为创建、合并和删除分支非常快,所以Git鼓励你使用分支完成某个任务,合并后再删掉分支,这和直接在master分支上工

    2024年02月07日
    浏览(77)
  • 开源社区必会知识点— —git提交pr

    1.1 fork开源仓库 ①登录github,找到开源仓库A,然后点击fork 这样,就会在你自己github账号下创建一个同名的仓库B(仓库名可修改) ②然后本地修改,提交到自己的github账号下的那个B仓库 1.2 将本地多个commit合并为1个 一般来说,开源社区提交pr都是需要合并为一个commit的 比如

    2024年02月08日
    浏览(32)
  • 去除GIT某个时间之前的提交日志

    有时git提交了太多有些较早之前的提交日志,不想在git log看到,想把他删除掉。 大概思路是通过 git clone --depth 来克隆到指定提交的代码,此时再早之前的日志是没有的 然后提交到新仓库

    2024年01月18日
    浏览(40)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包