Many Magit commands are implemented as transient commands. First the user invokes a prefix command, which causes its infix arguments and suffix commands to be displayed in the echo area. The user then optionally sets some infix arguments and finally invokes one of the suffix commands.
This is implemented in the library
transient. Earlier Magit releases
used the package
magit-popup and even earlier versions library
Transient is documented in (transient)Top.
This transient prefix command binds most of Magit’s other prefix
commands as suffix commands and displays them in a temporary buffer
until one of them is invoked. Invoking such a sub-prefix causes the
suffixes of that command to be bound and displayed instead of those
This command is also, or especially, useful outside Magit buffers, so you should setup a global binding:
(global-set-key (kbd "C-x M-g") 'magit-dispatch)