首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Git-repo命令:我删除了我的整个本地项目。

Git-repo命令:我删除了我的整个本地项目。
EN

Stack Overflow用户
提问于 2022-11-29 17:03:14
回答 1查看 53关注 0票数 -1

我意外地在两个随机文件旁边删除了我的整个存储库。事情是这样发生的。我想把我的本地项目上传到一个新的github存储库中,但是我已经删除的一个文件(一个图片)因为太重(超过100米或更多)而阻碍了推送。由于我已经删除了该文件,我在网上发现它一定是通过git缓存和保存在历史记录中的,所以我尝试使用以下命令删除该文件:

代码语言:javascript
复制
git filter-repo --path theme/static/img/founder_infos2.png --force

我试过:

代码语言:javascript
复制
git restore --source=HEAD~1 /core/

回滚也不起作用,因为我的提交历史似乎也消失了。

总之,所有的东西都已经从我的存储库中删除了,我找不到办法把它拿回来,我没有使用git的经验,我可能已经撤销了一个月的工作,所以欢迎你提供任何帮助。

EN

回答 1

Stack Overflow用户

发布于 2022-11-29 18:03:27

您的更改并没有丢失:

  1. 运行git reflog
  2. 在列表中滚动,在不愿意删除内容之前发现提交,并复制该提交的哈希,
  3. 运行git reset --hard <hash>

您对git filter-repo的误用是:“只保存我提到的文件或目录”也是一个方便的命令,这就是通过运行git filter-repo --path theme/static/img/founder_infos2.png执行的命令。

若要删除这些元素并保留其他所有内容,必须添加--invert-paths选项:

代码语言:javascript
复制
git filter-repo --invert-paths --path theme/static/img/founder_infos2.png

指向doc的链接:

从项目的自述文件中,您可以轻松地转到“我该怎么用呢?”部分并单击用户手册链接。

在该用户手册页面上,向下滚动到示例部分。

第一段是关于路径过滤的,第二个例子向您展示了如何使用--invert-paths删除一些文件。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74617640

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档