Sometimes you need to keep a linear (non-branching) history of your code commits. If you are working on a branch for a while, this can be tricky if you have to do a regular
git pull since that will record a merge with upstream.
[alias] up = pull --rebase
This will update with your upstream source, then reapply any work you have not pushed on top of whatever you pulled down.