Every working/hobbying day for the past decade and a half.
When more than one dev is working on a feature branch? You could take feature/a, branch off feature/a.1 for your local work but at some point you gotta incorporate work from feature/a. Not so different from origin/main -> main.
git pull --ff-only should really be the default (changeable) behavior.
[pull]
rebase = truealias gupa="git pull --rebase --autostash"
A rebase that is part of a pull, together with auto-stash, doesn't make a whole lot of sense.
I've never run into the problem of not being able to rebase due to uncommitted changes, except in two situations:
- suddenly wanting to rewrite something in the branch, unrelated to the in-progress work.
- working in a badly structured project whose builds alter tracked files
It provides a clean commit history, without actually rewriting the commit history.
I wish more developers in the company used this approach.