几个月前,我分叉了一个存储库,进行了更改并提交了拉取请求,该请求最终被 master 接受。从那以后,我的分叉代码在我的硬盘上就没有受到任何影响。现在,我想再次为同一个存储库做出贡献。我的 fork 中的代码与 master 不同步,因为它的更改从未被拉入 master,而且 master 已经继续前进。我应该删除我的分叉并重新分叉,还是有更好的方法?
我想这可能之前已经被问过。在搜索过程中我发现将新更新从原始 GitHub 存储库提取到分叉的 GitHub 存储库,但是该问题中的 StackOverflower 希望保留本地更改,而我想放弃所有本地更改并采用 master 中当前的任何内容。
如果您的分叉中没有任何您想保留的内容,那么删除并重新分叉当然是一个选择。如果您不想这样做,还有很多其他方法可以更新您的存储库。
如果您还没有的话,我可能会首先将上游存储库添加为远程存储库。执行此操作:
git remote add upstream <clone-url>
然后,从上游远程获取所有更改:
git fetch upstream
现在,您可以对这些新获取的提交执行任何您想要的操作。例如,要将本地主分支重置为上游存储库中的分支,请运行以下命令:
git checkout master
git reset --hard upstream/master
您可以将该更改推送到您的 GitHub 分支,如下所示:
git push --force origin master
有关使用遥控器的更多信息,我推荐 Pro Git 书中关于使用遥控器的这一章:2.5 Git 基础知识 - 使用遥控器
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)