GIT - 无法将项目状态恢复为历史记录中的特定修订

时间:2018-03-12 21:49:09

标签: java git

我通过使用git checkout <revision-no>.

更新旧提交的当前代码,搞砸了我的GIT远程存储库和本地存储库

假设我处于提交状态ABCD并且我想将完整的项目状态恢复为B,这意味着我需要相同的包结构和文件,因为它被推送到B.有没有办法做到这一点?

我尝试git reset --hard HEAD,遗憾的是我仍然在我的本地存储库和远程存储库中看到在D级提交的文件。

2 个答案:

答案 0 :(得分:0)

也许你处于&#34;脱离状态&#34;因为你做了git checkout {commitId}

这可能有效: git checkout master然后 git reset --hard {commitId of B}

答案 1 :(得分:0)

通常,git checkout用于更新(恢复)本地工作文件和修改HEAD指针的位置。它可用于查看先前的提交和切换分支,而无需实际更改项目中的任何内容。 git reset用于实际修改分支指针以将项目分支恢复为先前的提交。此时,您的HEAD仍指向先前的提交。所以你需要将它设置回当前分支的末尾:

git checkout <branch name>