我意外地在两个随机文件旁边删除了我的整个存储库。事情是这样发生的。我想把我的本地项目上传到一个新的github存储库中,但是我已经删除的一个文件(一个图片)因为太重(超过100米或更多)而阻碍了推送。由于我已经删除了该文件,我在网上发现它一定是通过git缓存和保存在历史记录中的,所以我尝试使用以下命令删除该文件:
git filter-repo --path theme/static/img/founder_infos2.png --force我试过:
git restore --source=HEAD~1 /core/回滚也不起作用,因为我的提交历史似乎也消失了。
总之,所有的东西都已经从我的存储库中删除了,我找不到办法把它拿回来,我没有使用git的经验,我可能已经撤销了一个月的工作,所以欢迎你提供任何帮助。
发布于 2022-11-29 18:03:27
您的更改并没有丢失:
git reflog,git reset --hard <hash>您对git filter-repo的误用是:“只保存我提到的文件或目录”也是一个方便的命令,这就是通过运行git filter-repo --path theme/static/img/founder_infos2.png执行的命令。
若要删除这些元素并保留其他所有内容,必须添加--invert-paths选项:
git filter-repo --invert-paths --path theme/static/img/founder_infos2.png指向doc的链接:
从项目的自述文件中,您可以轻松地转到“我该怎么用呢?”部分并单击用户手册链接。
在该用户手册页面上,向下滚动到示例部分。
第一段是关于路径过滤的,第二个例子向您展示了如何使用--invert-paths删除一些文件。
https://stackoverflow.com/questions/74617640
复制相似问题