Ok so I messed up! I was working with a repo that had the following structure

```
                master
                  |
                  v
A--B--C--D--E--F--G
       \
        \
         H--I
            ^
            |
         feature

```

I was working on the `feature` branch and once I was done, I merged into `master`. This resulted in merge conflicts that I had to fix manually ... which I thought I did correctly. Today, however, my coworker told me that I have broken stuff they have developed in `F`. These broken part are unrelated to what I have added -- apparently in resolving the conflicts I've deleted a bunch of stuff.

How can I "revert" the repo such that I recover their changes while preserving mine? To make things worse, I have already deleted the `feature` branch on my local repo and its not been pushed to origin. This is what the repo looks like right now

```
                   master
                     |
                     v
A--B--C--D--E--F--G--J

```

I have tried 

```
git reset --hard HEAD~
git merge origin/master --no-ff

```

hoping that would let me manually edit the merged files but it always automatically pulls the latest ...