git - 如何将文件重置或还原为特定修订版?

标签 git version-control git-checkout

如何在特定提交哈希(我通过 git loggit diff 确定)将修改后的文件恢复到其先前的修订版?

最佳答案

假设你想要的提交的哈希是c5f567:

git checkout c5f567 -- file1/to/restore file2/to/restore

git checkout手册页提供了更多信息。

如果你想恢复到 c5f567 之前的提交,附加 ~1 (其中 1 是你想返回的提交数,它可以是任何东西) :

git checkout c5f567~1 -- file1/to/restore file2/to/restore

附带说明一下,我一直对这个命令感到不舒服,因为它既用于普通事情(在分支之间更改),也用于不寻常的破坏性事情(丢弃工作目录中的更改)。


还有一个新的git restore专为恢复已修改的工作副本文件而设计的命令。如果你的 git 足够新,你可以使用这个命令,但是文档带有警告:

THIS COMMAND IS EXPERIMENTAL. THE BEHAVIOR MAY CHANGE.

关于git - 如何将文件重置或还原为特定修订版?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/215718/

相关文章:

git - 无法使用 SSH 推送到 Github

git 差异 : what is the difference between --cached and --staged

git - 使用 Git 维护项目

git - 撤销 git pull 错误的分支到 master 上

git - 用自己的 fork 交换 git 子模块

git - 减轻 git 存储库中重构代码的影响

android - 在 Android Studio 的编辑器左侧显示 git 更改

version-control - crontab 版本控制?

git - 如何在 Git 中以交互方式将文件从一个分支 checkout 到另一个分支

git - 如何仅使用管道命令复制 git-checkout?