git-remaster updates both your current branch and master branch simultaneously, while preserving all commited, staged and unstaged changes.
Add git-remaster to your path and make it executable:
curl https://gist.githubusercontent.com/ricardobeat/9600953/raw/git-remaster.sh > /usr/local/bin/git-remaster
chmod +x /usr/local/bin/git-remaster
Note: if you get merge conflicts, remember you are either in the middle of a rebase, or after stash apply.