我可以检索 git 中已创建、暂存、从未提交但随后被删除的文件吗?
Can I retrieve a file in git that had been created, staged, never committed, but then removed?
我创建了一个文件,然后使用 git add <file>
在我的 git 存储库中暂存它。
我还想在同一个提交中删除一些文件,git rm -f 'files.*'
。
我在删除行中使用的通配符有点过于通用,它删除了我之前暂存的文件。
记住它从未提交,只是暂存,有什么方法可以找回我无意中删除的文件吗?
如果您已将文件暂存到 git,您可能会取回它;
- 尝试
git fsck --lost-found
输出将类似于;
$ git fsck --lost-found
Checking object directories: 100% (256/256), done.
dangling blob 20d25014d965f1fe519d53204222369d09503511
dangling blob e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
dangling blob
之一应该是您的文件。尝试 git show <sha>
查看文件。
注意:在上述步骤之前做NOT运行git gc
。它清理不需要的文件并优化本地存储库。
我创建了一个文件,然后使用 git add <file>
在我的 git 存储库中暂存它。
我还想在同一个提交中删除一些文件,git rm -f 'files.*'
。
我在删除行中使用的通配符有点过于通用,它删除了我之前暂存的文件。
记住它从未提交,只是暂存,有什么方法可以找回我无意中删除的文件吗?
如果您已将文件暂存到 git,您可能会取回它;
- 尝试
git fsck --lost-found
输出将类似于;
$ git fsck --lost-found
Checking object directories: 100% (256/256), done.
dangling blob 20d25014d965f1fe519d53204222369d09503511
dangling blob e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
dangling blob
之一应该是您的文件。尝试git show <sha>
查看文件。
注意:在上述步骤之前做NOT运行git gc
。它清理不需要的文件并优化本地存储库。