I just switched from command-line foo to magit today (export GIT_EDITOR=emacsclient) by accident, and I'm very surprised how much easier it is now to solve complicated rebase scenarios.
I'm a very sceptical emacs user, who prefers the terminal over M-x shell and friends.
Once I got used to the few keys, it is much better than anything else I saw before, and much faster than doing it manually.
Moving picks up or down with one key, killing it, fixup, squash, inspection, ... all with one key.
i wanted a terminal in emacs that was as standard as possible and created 'sane-term'. Just ansi-term with a couple useful features. Sorry for the plug
Once I got used to the few keys, it is much better than anything else I saw before, and much faster than doing it manually.
Moving picks up or down with one key, killing it, fixup, squash, inspection, ... all with one key.