Start a branch for each new feature.
git checkout -b <branch>Publish your branch and set up tracking.
git push -u origin <branch>Then when you’re done committing to it, rebase it on master, force push it.
git rebase master
git push -fThen merge it.
git merge --no-ff <branch>Or, if it’s a single commit:
git merge <branch>Stash your changes to pull or move to a different branch when you have changes in the working directory.
git stashThen, to see stashes:
git stash listThen, to use a stash:
git stash pop <stash> (default is last)Fancy logging with graph:
git log --oneline --abbrev-commit --graph