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> 提交的那一刻,该文件可以被删除,因此我们需要查看之前的提交以获取已删除文件的内容。
在某些情况下,我们已删除项目中的文件,现在我们想将其取回。
其中我们建议解决此问题。
请按照以下步骤解决问题。
日期:2020-06-02 22:16:39 来源:oir作者:oir