git checkout 命令

git checkout 命令用于切换分支或者恢复工作树文件。
它对文件、提交和分支进行操作。
它允许在单个存储库中在多个功能之间切换。
git checkout 命令与 git branch 命令一起使用。

它更新工作目录中的文件以匹配存储在该分支中的版本,指示 Git 记录所有新提交。

git log 命令

git log 命令显示用于列出和过滤项目历史以及搜索特定更改的已提交快照。

它是一种用于检查存储库历史和查找项目特定版本的工具。
--all 选项显示分支、标签和其他引用历史记录中的所有提交。
--full-history 选项简化了解释树最终状态的历史记录。

查找和恢复已删除文件的步骤

查找文件路径

如果我们删除了一个文件并且不知道它在哪个路径上,那么我们应该执行以下命令:

git log --all --full-history -- "*MyFile.*"

此命令将显示提交历史记录中包含文件更改的所有提交,其名称与给定模式匹配。
因此,我们可以使用在上面命令的帮助下找到的提交哈希,通过运行以下命令来获取文件路径:

git show --pretty="" --name-only <sha1-commit-hash>

显示指定版本的文件

找到文件路径后,我们可以通过运行以下命令来显示更改它的提交:

git log --all --full-history -- <path-to-file>

现在我们有了文件路径和更改它的提交,因此我们可以通过运行以下命令找到要恢复的文件版本:

git show <sha1-commit-hash> -- <path-to-file>

将文件恢复到工作副本

使用 git checkout 命令将其恢复到工作副本中:

git checkout <sha1-commit-hash>^ -- <path-to-file>

插入符号 (^) 获取上一次提交的文件版本。
在 <sha1-commit-hash> 提交的那一刻,该文件可以被删除,因此我们需要查看之前的提交以获取已删除文件的内容。

如何在 Git 中的项目提交历史记录中查找已删除的文件

在某些情况下,我们已删除项目中的文件,现在我们想将其取回。
其中我们建议解决此问题。
请按照以下步骤解决问题。

日期:2020-06-02 22:16:39 来源:oir作者:oir