Finding Lost Commits
In the process of rebasing with preserving a merge commit (git rebase -i -p base_branch
),
I somehow managed to lose two commits I was trying to squash together.
To find the lost commits, I tried to use a combination of git commands.
First, I tried using git fsck --lost-found
which returned a list of
commits that were “dangling”. I have no idea how these specific commits
got lost to time, but now they were found. I also checked git reflog
which keeps a log of each action and–it seems–its id.
Unfortunately for me, I couldn’t find the specific commit I was looking
to reset everything to in either of these. What I ended up doing was looking
through my terminal history for a previous time when I had run git log
and grabbed the commit id from there.
After that, it was a simple git merge --ff-only commit_id
and all my
changes were back.
wipes sweat from brow