如何将我的分叉回购返回到原始回购

Posted

技术标签:

【中文标题】如何将我的分叉回购返回到原始回购【英文标题】:how to return my forked repo to the original repo 【发布时间】:2021-11-05 16:25:49 【问题描述】:

我执行了“获取和合并”以合并对我的分叉存储库后面的原始存储库所做的所有提交。

但是,我的分叉存储库现在比原始存储库提前 3 次提交。

我想简单地删除这些提交。所以最终结果就好像我只是第一次分叉原始 repo。

我无法弄清楚如何做到这一点。我只能在 Internet 上找到如何通过启动拉取请求来更新原始存储库。

另外,是否有一种简单的方法可以查看分叉和原始存储库之间的差异的实际提交?

【问题讨论】:

你可以使用git-reset:git reset --hard <commit> @joshmeranda 我希望有一个选项可以消除我的分叉回购之前的所有差异。 这就是 git reset 的作用。它会将分支“重置”到以前的状态(在合并 fork 之前)。如果没有 --hard 标志,它将保留更改以供您在删除之前查看,但使用标志它将自动删除它们。]\ 【参考方案1】:

你可以 git reset --hard upstream/master。 它会将您的 master 的 HEAD 重置为上游 master 的 HEAD 的外观。

请注意,如果您在前 3 次提交中所做的任何工作,它将丢失。

【讨论】:

以上是关于如何将我的分叉回购返回到原始回购的主要内容,如果未能解决你的问题,请参考以下文章

GitHub fork 以前提交的 repo

Git:将完整回购与另一个合并[重复]

回购的所有者可以看到克隆吗?

如何从分叉的仓库更新拉取请求?

分叉存储库上的原始存储库问题

在分叉和改进 Github 存储库后,我应该更改 package.json 中的作者吗?