I am part way through a git rebase and I am stuck. I can't remember exactly what happened but I was using a UI and deleted a checked-out branch and things just seemed to go blank. I restarted and managed to do a bit of other work creating and committing to other branches etc but then I noticed a status saying I was still in the middle of a rebase
If I try
git rebase --skip
git rebase --continue
git rebase --abort
each fail with
error: could not read '.git/rebase-merge/head-name': No such file or directory
Is there a way I can get back to a stable state? I'm really not bothered about what the rebase related to so am not trying to get back to point where I am still in the middle of the rebase.
Edit:
$ git status
On branch fix/SJW-01225
Your branch is up to date with 'core-v3/fix/SJW-01225'.
You are currently rebasing.
(all conflicts fixed: run "git rebase --continue")
Untracked files:
(use "git add <file>..." to include in what will be committed)
[long list of untracked files]
nothing added to commit but untracked files present (use "git add" to track)
Edit-1:
$ touch .git/rebase-merge/head-name
$ git rebase --abort
error: could not read '.git/rebase-merge/onto': No such file or directory
$ touch .git/rebase-merge/onto
$ git rebase --abort
error: could not get 'onto': ''
Thx
To escape from corrupted
git rebase
you can do the followingrebase
withgit reflog
.For example,
reflog
will give you the following. The rebase starting point is the lastrebase (start)
orrebase -i (start)
if you did an interactive rebase. Here it isHEAD@{1}
:So what you need is:
rebase-merge
folderI somehow got my repo into the same state. In my case, there was no
.git/rebase-merge
directory, but I did find arebase-apply
directory. Other than the in-progress rebase,git status
was clean, so the only thing I needed to do to get out of the weird bad rebase state was to run: