git merge is used to combine multiple sequences of commits into one unified history.
git stash can save local changes without committing.
git revert will modify the working directory.