我正在远程服务器上写一个README.md文件并完成了那个文件,但是我意外地使用git push origin master
强制推送到远程服务器,现在README.md
已经消失了
有没有办法可以检索该提交?我写了一个很长的README.md文件,真的想知道我是否可以把它拿回来:(
我正在查看git fsck
,但找不到我在github.com上从远程服务器提交的README.md
答案 0 :(得分:6)
如果它存在于某个工作副本中,请转到该存储库并使用git reflog
查找包含它的修订版,并使用git checkout
转到该修订版(在任何分支之外)。然后,您可以将文件复制到任何您想要的位置。
如果服务器是裸的,它可能仍然是服务器上的一个对象,但没有任何类型的git fetch
会将其复制到任何其他仓库,因为没有对它的引用。在这种情况下,您需要访问裸仓库才能直接运行git fsck
。
答案 1 :(得分:6)
在github的公共活动中,您可能会看到以下内容:
XXX pushed to master at XX/XXX
d506bb1 Update README.md.
这里d506bb1
是你丢失的提交。