在git rm之后从先前的git commit中恢复文件

时间:2016-08-03 20:35:35

标签: git github

我处境非常糟糕。我为一个项目编写了很多脚本并意外删除了它们。

我有3个分支:master,Dev,App

我在Dev分支上开发,在master上保留一份工作副本,并在App中编写应用程序脚本。我将Dev合并为master,然后将master合并到App。但是当我这样做时,我忘记了我已经从master和Dev中删除了所有的应用程序脚本。所以我盲目地删除了App中的所有应用程序脚本。现在,我想回去拿这些文件。

返回我使用的提交

import Paths_project_name
...

foo = do path <- getDataFileName "file1.txt"
         ...
         img <- getDataFileName "img2.jpg"
         ...

然后我尝试了

git revert HEAD~1

删除文件。但是从我的文件夹中删除了它们。现在我无法在任何提交中找到它们。我怎样才能收回这些文件?

2 个答案:

答案 0 :(得分:2)

转到要修复的分支。

git checkout App

在文件被删除之前找到提交

git log --stat

请记住SHA并重置为该SHA。

git reset --hard bada55

重复其他分支。您可以使用git reflog命令查看所执行的操作以及发生的事件的SHA。帮助找到当前分支历史记录中没有的时间点。

答案 1 :(得分:0)

git checkout [文件名]

git reset head --hard