I'm trying to script rebasing and my script will take different paths depending on if the rebase results in any conflicts.
Is there a way to determine if a rebase would result in conflicts before executing the rebase?
At the time of writing (Git
v2.6.1 v2.10.0), the
git rebase command offers no
--dry-run option. There is no way of knowing, before actually attempting a rebase, whether or not you're going to run into conflicts.
However, if you run
git rebase and hit a conflict, the process will stop and exit with a nonzero status. What you could do is check the exit status of the rebase operation, and, if it is nonzero, run
git rebase --abort to cancel the rebase:
git rebase ... || git rebase --abort