关于Git:Git – 如何将所有更改回滚到上次提交?

Git - how to roll back all changes to last commit?

我无意中删除了源目录。我以为我在删除另一个目录。但我有最后一个承诺,那就是我需要恢复的地方。

我有两个分支:

1
2
master
dev1

在dev1上:

1
2
git add .
git commit -m 'commit message'

然后:

1
2
git checkout master
git merge dev1

然后我不小心删除了整个存储库。

然后我很难重新设置为最后一次提交,我看到它显示了所有正确的更改。但是当我到达我的目录时,它是旧的目录(我复制了旧的目录,但没有从这里删除)。我该怎么办?


这取决于您所说的"删除整个存储库"。从您对其他答案的评论中,我认为您没有删除所有内容,如果您仍然可以成功地在该目录中执行git命令,那么您可以简单地执行git reset --hard master(这个问题将更详细地解释)。

如果您已经在本地主机上完全承载了您的整个Git存储库目录,因为您将更改推送到了远程,那么您可以简单地执行ecx1(2),它将从远程服务器上删除所有内容。


做一个

git log

获取上一次提交的哈希值,然后执行

git revert your_hash_here

恢复提交。最后做一个

git push

推动你的改变,并将它们快速地传递给大师


如果删除了整个存储库,则必须从备份中获取它(或从您从中提取或推送到的任何其他存储库中重建它)。Git再也没什么可干的了。