Git Tutorial: Fixing Common Mistakes and Undoing Bad Commits