我对上游仓库的分叉副本进行了一些不必要的更改,上游仓库也在那个时候发生了变化。所以我想做的是基本上分配上游仓库的新副本而不保留任何更改。
不幸的是,我似乎无法弄清楚如何做到这一点。我尝试了三种方法:
按照How do I update a GitHub forked repository?的说明,除了rebase(我不希望自己的提交被重播)。这告诉我,我是最新的,没有进行任何更改,但我的分叉回购仍然与当前的上游回购不一样。
按照Reset local repository branch to be just like remote repository HEAD的说明操作。这适用于文件并更改它们,但它也假定我现在正在编辑上游仓库。我的分叉副本没有重置。
按照http://www.hpique.com/2013/09/updating-a-fork-directly-from-github/的说明操作,但我无法选择“切换基座”。当我这样做的时候。
不幸的是,我对GitHub很陌生,这让一切变得更加混乱。我想作为最后的手段,我可以删除我的分叉回购并重新开始,但如果可能,我宁愿不这样做。
编辑:修复了VonC的帮助。需要将上游存储库克隆到新文件夹作为本地副本而不是现有文件夹。
答案 0 :(得分:3)
如果您确实要放弃更改,并将所有内容重置为上游(原始)回购状态,您可以:
将远程原点重命名为上游
git remote rename origin upstream
使用fork的url添加origin:
git remote add origin https://github.com/<you>/<yourFork>
将所有分支推送/重置到您的分支:
git push origin --force --all