【问题标题】:Repushing a branch after deleting it and reforking删除分支并重新分叉后重新推送一个分支
【发布时间】:2026-01-23 13:05:02
【问题描述】:

我是 git 和 github 的新手,请多多包涵。

这是场景:

  1. 我派生了一个 repo,创建了一个名为 patch-3 的分支,进行了一些更改,并向原始所有者提交了一个拉取请求。

  2. 一周过去了,我决定要“重新同步”我的旧分叉,所以我删除了旧分叉,并重新分叉原始项目,这样我就可以获得最新版本。

  3. 旧的拉取请求仍然打开,原所有者回复说他想合并我的更改,但patch-3 已经消失了。然后他问我是否可以“拒绝”它。

  4. 我回到我的新分支,创建一个名为patch-3 的新分支并重新应用我最初的更改。就是这样。

我的问题是:旧的拉取请求现在会选择我在新分支中创建的新的patch-3 分支,以便原所有者可以合并我的更改吗?我在旧的拉取请求页面中没有看到任何迹象表明我做了什么……所以这里似乎有些不对劲。

感谢任何帮助!谢谢!

【问题讨论】:

    标签: git github


    【解决方案1】:

    不,您需要提出新的拉取请求。

    为了获得最新版本并且仍然有你的拉取请求,正确的方法是:

    • 获取上游(原始仓库)
    • 在其之上重新设置patch-3
    • 将其推送到您的 fork(命名为“origin”)

    ...您将看到拉取请求自动更新为您分支的新 SHA1。

    远程upstream和origin的区别见“Git fork is git clone?”。

    重点是:不要删除/重新创建 repos:你可以更新和变基。

    另见“My pull request has been merged, what to do next?”。

    更多提示;见“How to do a Github pull request?”。

    【讨论】: