GitHub遭攻击!黑客给出十天限期:不交比特币赎金,就公开用户私有代码( 四 )

至于已经被删除的代码,一位早期受害者在StackExchange论坛指出,代码其实还在,是可以恢复出来的,只是HEAD被黑客修改了而已。

他还给出了一系列补救办法,被GitLab官方推荐。

输入以下代码:

git checkout origin/master

git reflog # take the SHA of the last commit of yours

git reset [SHA]

能看到黑客的提交记录,并修复origin/master。但是问题还没有完全解决,如果输入git status,还是会显示:

HEAD detached from origin/master

如果你在本地备份了代码,那就好办了,直接把本地代码强制push上去:

git push origin HEAD:master --force

如果你在本地没有备份,仍然可以从远程库克隆,用git reflog或者git fsck可以找到最后一次提交并更改HEAD。

推荐阅读