You know what works almost every single time? With tiny conflicts if any? Merge + squash on gitlab.
git rebase --abort
to return to where you were beforehand.I find that git is actually very good at explaining what is going on and what you should do next by just running git status in the middle of some process like rebasing and reading what it says.
Even if it all goes really wrong the git reflog has always saved me.
Rebasing is just a way to make extra work for yourself
2) Before you rebase take a note of your current branch's HEAD commit.
3) If things go horribly wrong, you can force your branch to point at the original commit and it will be as if nothing happened. Well as long as you do it immediately. At some point git gc will collect up unreachable commits and delete them.