重置后从git恢复已删除的文件

时间:2015-08-05 21:34:48

标签: git version-control merge branch

前段时间我将一个功能分支合并到主分支(应该已经开发)时犯了一个错误。合并后我注意到了这一点并在主分支上进行了重置。这从主分支中删除了大约10个文件。 与此同时,我从开发分支了一个新的功能分支,并在这个分支上工作(也是从master中删除的文件)并将其合并回develop。

今天我将develop分支合并为master以获得新版本。遗憾的是,在主分支中缺少重置期间删除的所有文件,以后添加的新文件也存在。

我想将develop分支合并到master中,以便在合并之后master分支具有与develop分支相同的文件。我怎么能这样做?

我尝试使用主分支重新定义开发分支,但这只会导致文件从开发分支中移除。我已经能够回滚

2 个答案:

答案 0 :(得分:1)

您可以检查git日志并确定最后一次提交,其中包含您丢失的所有文件。

git log

确定提交后,请根据提交复制哈希并运行git checkout命令。

git checkout COMMITHASH

在此之后,您的头部将指向此提交,其中包含所有已删除的文件。您可以将开发分支与当前主状态合并。

注意:根据我不推荐。

答案 1 :(得分:1)

您是否在开发分支中有这些文件? 如果是这样,它们必须通过提交添加,对吧? 也许你可以使用

制作一些补丁
   git format-patch -s commit 

将补丁保存到其他地方。 结帐到主分支并使用

应用它
   cat patch | git am