Git - 如何将所有更改回滚到上次提交?

时间:2014-02-26 13:07:28

标签: git commit revert

我意外删除了源目录..我以为我正在删除另一个目录。但我最后一次提交是我需要恢复的地方。

我有两个分支:

master
dev1

在dev1上:

git add .
git commit -m 'commit message'

然后:

git checkout master
git merge dev1

然后我意外删除了整个存储库。

然后我很难重复上次提交,我发现它显示所有正确的更改都已完成。 但是当我到达我的目录时它是旧目录(我复制了旧目录,但它没有从这里删除)。 我该怎么办?

3 个答案:

答案 0 :(得分:0)

如果您删除了整个存储库,则必须从备份中恢复(或从您从中拉出或推送到的任何其他存储库重新构建它)。 git没有任何东西可供使用了。

答案 1 :(得分:0)

做一个

  

git log

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

  

git revert your_hash_here

恢复提交。最后做一个

  

git push

推送您的更改并将其快速转发给主人

答案 2 :(得分:0)

这取决于“删除整个存储库”的含义。根据您对其他答案的评论,我认为您没有删除所有内容,如果您仍然可以成功执行该目录中的git命令,则可以git reset --hard masterthis question解释更多细节)。

如果你已经在localhost上完全管理了你的整个git存储库目录,那么你将更改推送到远程,你可以简单地git clone <example.com/myrepo.git>,它将从遥控器中取出所有内容。