【问题标题】:Force a GitHub fork to match original repo's current contents?强制 GitHub fork 匹配原始 repo 的当前内容?
【发布时间】:2013-11-20 16:16:14
【问题描述】:

我无法强制我的 GitHub 存储库分支成为原始(主)存储库的完整副本。我的叉子已经发散了,我想把它恢复到原来的状态。但是,我发现解决该主题的堆栈溢出帖子对我不起作用。比如这两个:

Completely replace Fork with origin (github)

Updating forked GitHub repo to match original's latest code and commits

我已经将“上游”设置为指向原始仓库的主分支。但是,获取更新然后合并,或者使用上面两个 SO 帖子中的任何一个变基命令变体对我来说都不起作用。我仍然可以看到我的 repo 文件的最新版本。相反,我想查看它们存在于主存储库的主分支中的状态的文件版本。我没有。

我可能做错了什么?是不是因为我尝试了 rebase 选项 after 我使用了“git fetch upstream”命令,然后是“git merge upstream/master”命令,然后将一些更改推送到 my em> fork 的主分支?请注意,我不关心我所做的任何新更改,因为主存储库的主分支具有我之前的所有重要更改。我只需要一系列简单的 GitHub 命令来强制我的 fork 匹配原始 repo 的 master 分支。

来自以下 SO 帖子:

How to force GitHub Fork (origin) to take Repository (upstream) version

我试过了:

git reset --hard cb2a1828f0cbd02179849035c0adae8a7426b3f0

其中 cb2a1828f0cbd02179849035c0adae8a7426b3f0 是主存储库的主分支中的最新提交 ID。但我收到以下错误:

fatal: Could not parse object 'cb2a1828f0cbd02179849035c0adae8a7426b3f0'.

顺便说一句,我知道我应该一直在使用我的 master 分支,然后只使用我的 master 分支从 master repo 的 master 获取更新。我将来会这样做。现在,我只需要解决这个问题。

【问题讨论】:

  • 再次“git clone”原始文件有什么问题?

标签: github fork rebase


【解决方案1】:

最简单的方法是:

  • 在 GitHub 上删除你的分叉
  • 重新分叉
  • 在本地克隆它

如果您之前的本地克隆正在进行一些工作,您可以:

  • 将您的第一个本地克隆添加为新本地克隆的远程对象
  • 获取/合并一些提交到您当前的本地克隆

【讨论】:

  • @JustusWingert 有什么我可以澄清的吗?
猜你喜欢
  • 2012-11-11
  • 2015-12-26
  • 2013-10-13
  • 1970-01-01
  • 1970-01-01
  • 2012-12-15
  • 1970-01-01
  • 2014-10-22
相关资源
最近更新 更多