gpt4 book ai didi

git - 如何在没有第一次提交的情况下撤消 git rm -rf dirname?

转载 作者:IT王子 更新时间:2023-10-29 01:01:37 27 4
gpt4 key购买 nike

我做到了:

git init
git add .
git rm -rf dirname

查看其他答案,git reset --hard HEADgit checkout -fgit reflog 没有用,显然是因为那里没有要返回的 HEAD,也没有要从中取回文件的提交。

有办法找回文件吗?

最佳答案

警告:在没有-n 选项的情况下运行git prune (1) 将清除您无法访问的数据。

可能有一种方法,使用git prunegit cat-file .

运行 git prune -n​​ 将列出哪些对象将被修剪删除:

$ git prune -n
9cc84ea9b4d95453215d0c26489d6a78694e0bc6 blob
c315143703752ef4d11ca7d93f2c324872b2ebff blob

每一行对应一个删除的文件。

现在,使用 git cat-file,我们可以将已删除文件的内容恢复到新文件中:

git cat-file -p 9cc84ea9b4d95453215d0c26489d6a78694e0bc6 > restored-filename

(1) 来自 git prune 文档:

NAME
git-prune - Prune all unreachable objects from the object database

OPTIONS
-n
--dry-run
Do not remove anything; just report what it would remove.

关于git - 如何在没有第一次提交的情况下撤消 git rm -rf dirname?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9644119/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com