git - 重置后 --hard 所有未跟踪的文件都消失了

标签 git github ubuntu-16.04 git-reset

我在没有提交文件的情况下进行了 git 硬重置。触发重置后,我检查所有未跟踪的文件都消失了。我预计它只会影响我们在提交期间所做的更改,并且它只会重置这些更改。但是我错了。

有什么方法可以恢复我所有未跟踪的文件吗?任何帮助将非常非常感激。

谢谢

最佳答案

如果您之前对未跟踪的文件执行过 git add,那么 git reset --hard 将删除它们。 Git 没有恢复这些的过程,因为它们未被跟踪。您需要找到其他工具来执行此操作,例如操作系统或 IDE。 IntelliJ 有一个“本地历史记录”工具,您可以利用它来恢复这些文件。

为了将来的引用,优先选择 git stash 而不是 git reset --hardgit stash 使用您的更改创建临时“存储”提交。这些可以通过 git stash apply 或 git stash pop 轻松检索。当你使用 git reset --hard 来破坏你的工作目录时,撤消就变得更加困难,有时甚至是不可能的。

关于git - 重置后 --hard 所有未跟踪的文件都消失了,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52042030/

相关文章:

python - 从 git 安装 Python 包 pathos

git - git 和 Github CLI 或 gh 有什么区别?

docker - 如何找到某个worker节点对应的kubernetes master服务器?如何杀死残留的k8s容器?

ubuntu - 如何创建 crontab 作业以在服务器重启时启动 Monero 矿工?

备份文件中的 gitlab 包

git - Venv、Pycharm、GIT 和 Github

git - 如何从 TortoiseGit 中删除本地 Git 仓库?

github - Eclipse/Egit,“推送到远程”菜单选项呈灰色显示

python - 如何将 Airflow 与 Github 集成以运行脚本

linux - 如何从 Ubuntu 应用程序启动命令运行的程序中保存图像