我试图将上次推送的提交还原为分支dev
。完成git push -f
之后,我意识到分支机构master
并未在此机器上找到它的最新版本,因此我也意外地更改了master
。
我的下一步是使用不同的机器,其中master
是最新版本。糟糕的一步是在该计算机上运行git pull
,该计算机更新了所有分支,包括master
。
有没有办法恢复最后一次拉动?
答案 0 :(得分:0)
没有什么好方法可以做你想做的事情,因此强烈建议强行推动git。
如果你有丢失的提交的SHA,你可以cherry-pick
,即使你再也看不到git中的提交,它仍然可以引用它们(我想! )。另一种选择是在那里找到另一台旧提交的机器,cherry-pick
你想要的提交,revert
你不想要的提交,然后做另一个git push -f
。 (然后再试着再也不要强迫推!)