Some bad Git situations and how I got myself out of them
I can't believe no one has responded yet with "use a GUI". After gaining a basic understanding of how branches and merges work, and I do mean <i>basic</i>, I've never been able to screw up a local repo with a GUI client enough that I haven't been able to recover with the same GUI tools.<p>I understand that people need to know how to use their tools, but for git most people can get away with the very basic usage that GUIs provide. If you've made some unrecoverable mistake with an important set of changes, you can always review the history in the same GUI and reimplement the important changes in a new branch.