一次找回GitHub上被删除仓库的经历
💡
原文中文,约1800字,阅读约需5分钟。
📝
内容提要
文章讲述了作者寻找已消失的Brainfuck语言演示网站的经历。通过GitHub的Fork功能,作者发现只要有一个Fork存在,相关提交就能永久保留。最终,作者通过互联网档案馆和GitHub找回了代码,并了解到Software Heritage可以更方便地保存代码,简化了操作。
🎯
关键要点
- 作者回忆起高中时写的Brainfuck语言演示网站,但发现该网站已404。
- GitHub的Fork功能可以永久保留相关提交,只要有一个Fork存在。
- GitHub的仓库结构允许多个Fork共享同一对象库,节省存储空间。
- 通过Fork网络,任何一个仓库都能访问到所有对象,只要有一个仓库存在。
- 作者找到一个Fork并通过互联网档案馆获取最新的提交Hash值,成功找回代码。
- 作者学习到如何将Fork的HEAD指针指向最新提交,并成功部署Brainfuck可视化演示。
- 作者发现Software Heritage组织可以更方便地保存代码,简化了找回过程。
❓
延伸问答
如何通过GitHub找回被删除的仓库?
可以通过找到该仓库的任意一个Fork,并获取最新的提交Hash值来还原仓库。
GitHub的Fork功能有什么特别之处?
GitHub的Fork功能允许多个仓库共享同一对象库,从而节省存储空间,只要有一个Fork存在,相关提交就能永久保留。
作者是如何找到Brainfuck演示网站的代码的?
作者通过互联网档案馆找到最新的仓库页面,获取了提交的Hash值,并通过Fork仓库还原了代码。
什么是Software Heritage,它有什么用?
Software Heritage是一个专门保存代码的组织,可以更方便地查找和保存代码,简化找回过程。
在GitHub上,如何将Fork的HEAD指针指向最新提交?
可以通过git fetch拉取对应提交后,使用git reset --hard命令将HEAD指针指向最新提交。
为什么GitHub的Fork网络能保留所有对象?
因为在Fork网络中,只要有一个仓库存在,GitHub就必须保留所有的对象,确保每个仓库都能访问这些对象。
➡️