使用 IntelliJ IDEA 从 git 存储库恢复文件

Restore file from git repository using IntelliJ IDEA

我已经删除了项目中的文件,提交了那个文件,然后又做了其他提交。

现在我需要大约 15 个这样的文件。有关如何使用 git 命令行执行此操作的答案(如 the question)。

如何在 IntelliJ IDEA 中做同样的事情?

使用 IntelliJ 的本地历史记录模块应该可以帮助您 link 解决您的问题。只要您没有使缓存失效或安装 IDE 的新版本,它就应该在您删除文件之前进行修订。

(修改后也有保留期,希望大家不要太早删除文件)

IntelliJ IDEA 中并没有原生建议查找过去删除的文件,本地历史记录可能并不总是记住这些文件。

这意味着您需要 configure a git bash terminal in IDEA,您可以致电:

使用:c:\Program Files\Git\bin\bash.exe

我找到了应对这两种情况的方法,要么知道删除提交,要么根本不知道。

案例 1: 让我们从更简单的开始,我确实知道提交:

  1. 在 "Version Control > Log" 中查看 select 提交(搜索框有助于找到它)
  2. 在右侧的框中(文件树)select 所有要恢复的文件
  3. 右击然后"Revert selected changes"

案例 2: 现在,如果我不知道删除提交,我可以尝试使用 "Paths" 过滤器选项缩小提交日志的范围。或者我可以 运行 这些 shell 命令来获得准确的提交(并在 git 日志中搜索):

  1. 列出存储库中所有已删除的文件:git log --diff-filter=D --summary | grep delete
  2. 查找删除其中一个文件的提交:git rev-list -n 1 HEAD -- [deleted-filename]
  3. 继续上述案例 1 的步骤