There is a package for Emacs that allows you to use undo-tree instead of just going back and forth with cancellation: http://www.emacswiki.org/emacs/UndoTree
Is there a similar thing for git that allows you to take a look at the commit tree and choose one? Either on the command line or in Emacs?

Note. I'm new to Emacs, and I installed the great Emacs Live - https://github.com/overtone/emacs-live - which seems to include Magit. Emacs Live has a system for adding settings - files go to ~ / .live-packs / cannyboy-pack /. Inside it is the init.el file, which refers to files in another folder - config. So I added (live-load-config-file "magit-custom.el") and added the magit-custom.el file to config with the @event_jr code, and then pointed that to ~ / .live-packs / cannyboy-pack /init.el by adding (live-load-config-file "magit-custom.el")
source share