Generally, each time you press a key that is part of a sequence, you get a pop-up explaining what further keys are available. So for instance, I opened magit (M-x magit-status) on a project and pressed ? (for help):
https://i.imgur.com/c5cmmpB.png
The popup lists the keys I can use on magit-status page, and if you know git it's pretty obvious where to go in most cases.
Also, at any time you can press ? and then one of the key listed in the popup to get a detailed description and/or an appropriate manpage.
There are a few that go against this. "x", for example. But it really becomes almost conversational.
Edit: corrected spelling of mnenomic. :) Not convinced it is correct word, oddly...
I just keep thinking there is another word that is even more applicable than mnemonic. Guessing I'm just confusing myself.
[1] https://emacsair.me/2017/09/01/magit-walk-through/#start [2] https://emacsair.me/2017/09/01/the-magical-git-interface/#st...
A reason why it might actually be an advantage that the interface is "text based" is that the thing the tool interacts with is also text [3]. The primary difference to git is that the "output" is "actionable", the primary difference to GUIs is that every feature of git can be exposed quite naturally.
[3] And a major advantage of that is that the barrier between writing the code and thinking of it in terms of change sets starts to break down.
It's a demo which I'm sure appeals to emacs users, who are the target, but I couldn't imagine using it as a non-emacs user. I previously tried learning emacs to use OrgMode, and gave up after a couple of days when I failed to master even basic text editing skills.