我意外地在错误的存储库上执行了push --force
(打开的术语太多),有效地将主分支重置为更早的提交。
看看我的构建系统,我可以看到commit曾经指向XYZ,但是我没有在本地提交,因为我最近没有执行pull或fetch。代码库在Github中,我可以在Github中导航来查看提交,所以我知道它在那里。
我如何才能下拉提交,这样我就可以将master
重置为正确的提交,而不必麻烦推送该更改的开发人员?
发布于 2016-01-06 02:21:09
如果某个分支可以访问XYZ,您可以简单地获取。如果没有,请遵循@weste的说明,让分支指向它,然后获取:
git fetch
git checkout master
git reset --hard XYZ
git push -f origin master
发布于 2018-10-23 17:02:53
据我所知,您目前没有本地提交;但是您可以在不修改工作区的情况下获得它,只需如下所示:
git fetch
在那之后,如果你有当前的修改,或者类似的东西,你可以暂时保存它们:
git stash save "My work to be completed later"
然后您可以移回您的主分支:
git checkout -f master
然后,强制将头部移动到您想要的孤立提交:
git reset --hard XYZ
作为替代方案,如果您更喜欢销毁并重新创建主分支,您可以“移动”到另一个分支,销毁并重新创建主分支:
git checkout -b anyOtherBranch
git branch -D master
git checkout -b master XYZ
最终,推动你的新的主分支;
git push --force origin master
https://stackoverflow.com/questions/34618504
复制相似问题