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

Recover deleted files from git after reset

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

今天我将 develop 分支合并到 master 中以发布新版本。不幸的是,在重置期间删除的所有文件都在 master 分支中丢失,存在后来添加的新文件。

我想将develop分支合并到master中,合并后master分支和develop分支的文件是一样的。我该怎么做?

我已经尝试将 develop 分支与 master 分支变基,但这只会导致文件也从 develop 分支中删除。我已经能够将其回滚

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

git log

确定提交后,复制提交的散列和 运行 git 签出命令。

git checkout COMMITHASH

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

注:本人不推荐

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

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

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

应用它
   cat patch | git am