I get this message:
Cannot pull with rebase: You have unstaged changes.
Please commit or stash them.
Yes, I have changes which are not committed. I searched a way to rebase my uncommitted changes on top of the new code which I would get from a pull.
I found this: https://github.com/aanand/git-up
I want to know if this is still the way to go, or if there are more modern ways to go.
I use git version 1.8.1
You can use the Python port of git-up: https://github.com/msiemens/PyGitUp
I answer a little late but maybe that can be useful for someone.
If you are just looking for a one-liner to execute
stash / pull rebase / stash pop
, you can create an alias.This creates an alias named
spr
that does the three operations and allows you to quicklypull --rebase
while you have unstaged changes.git-up is probably the more sophisticated way to solve this issue.
Otherwise, you need to stash, rebase and stash pop.
The "more modern way" will be available in git 1.8.5 (or 1.9, Q4 2013).
As I mention in "Git - How to edit old (not previous) commit with some of the unstaged changes from current index (current state)?":
Since Git 2.9 (June 2016), you now have (as commented by artofwarfare):
You can't really "rebase" your uncommitted changes since git does not know about them yet. You should stash your local changes before you run
git pull --rebase
then apply them back.