我尝试在本地设置 SSH 密钥,并意外地从我的存储库之一中删除了 .git 文件夹。我重新初始化了它,然后在运行
git pull
和git push -u origin main
后遇到错误:! [rejected] master -> master (non-fast-forward)
。为了解决这个问题,我使用了命令 git push -f -u origin main
,但此操作导致我之前的所有提交丢失。
git reflog
显示强制推送后所做的提交。
我怎样才能恢复它们?
我运行了 git push -f -u origin main 但丢失了所有提交。
如果您没有太多额外的提交需要推送,只需将其克隆到另一个位置并将
.git
复制到正确的文件夹并重新构建提交即可。
如果有很多提交,找到该提交并硬重置它:
git reflog
git reset --hard <hash>
git push -f
.