【发布时间】:2019-10-07 13:08:38
【问题描述】:
我在索引中添加了一些新文件
git add .
然后重置
git reset --hard
git 在我的工作树中删除了这些文件,以前没有在存储库中,它们都丢失了。我丢失了所有数据。
【问题讨论】:
-
见stackoverflow.com/a/5788069/6330106。您仍然可以找到添加的文件的内容。但是目录结构和文件名丢失了。
-
您有问题吗?如果您想保留未提交的内容,为什么要硬重置?
-
我想撤消添加。但将文件保存在工作树中。我运行了错误的命令,我应该使用 --mixed @jonrsharpe
-
@yuanjianpeng 是的,既然
--mixed是隐含的,git reset就足够了。短期内丢失数据确实令人沮丧,但有时你不得不烧一次手才能吸取教训...... -
如果您可能需要恢复工作树的内容的可能性很小,您可以使用
git stash而不是git reset --hard HEAD。这同样会删除对索引/工作树中跟踪文件的所有更改,但会将这些更改保留在存储中。如果您确实确定不需要您将要丢弃的更改,请仅运行git reset --hard HEAD。