将整个项目切换为先前的提交

rjv*_*rjv 3 git commit

考虑一个在后端使用git的项目管理应用程序.

始终使用git add .后续创建新版本git commit.

出于评估目的,我想要一种方法来获取存储在其中的旧版本项目,使整个目录内容恢复到指定的commit.Also,在评估之后,必须将内容恢复为最新版本.

如何实现这一目标?

额外信息(可能没有必要):它是一个Web应用程序,用于存储在php,远程服务器上运行并通过网络访问的学术项目.

Mat*_*Mat 8

这是以下的一个非常基本的特征git:git checkout.

$ git checkout branch_or_tag_name
Run Code Online (Sandbox Code Playgroud)

更改您的工作目录与该分支或标记匹配.

$ git checkout commit_hash
Run Code Online (Sandbox Code Playgroud)

使当前目录反映发生提交时存储库的状态.(小心如果你这样做,你将处于"超级头"模式 - 你不应该修改该状态的文件.)

您也可以简单地为此"评估"创建一个分支,并在一个操作中检查它:

$ git checkout -b evaluation commit_hash
Run Code Online (Sandbox Code Playgroud)

完成后,只需检查以前的分支,然后更新工作目录.

$ git checkout master # or whatever your main branch is.
Run Code Online (Sandbox Code Playgroud)

(可能git branch -d evaluation如果你不再那样了.)