Magit runs Git either for side-effects (e.g., when pushing) or to get some value (e.g., the name of the current branch).
When Git is run for side-effects, the process output is logged in a
per-repository log buffer, which can be consulted using the
magit-process
command when things don’t go as expected.
The output/errors for up to ‘magit-process-log-max’ Git commands are retained.
magit-process
) ¶This commands displays the process buffer for the current repository.
Inside that buffer, the usual key bindings for navigating and showing sections are available. There is one additional command.
magit-process-kill
) ¶This command kills the process represented by the section at point.
This command toggles whether additional git errors are reported.
Magit basically calls git for one of these two reasons: for side-effects or to do something with its standard output.
When git is run for side-effects then its output, including error
messages, go into the process buffer which is shown when using $
.
When git’s output is consumed in some way, then it would be too expensive to also insert it into this buffer, but with this command that can be enabled temporarily. In that case, if git returns with a non-zero exit status, then at least its standard error is inserted into this buffer.
Also note that just because git exits with a non-zero status and prints an error message, that usually doesn’t mean that it is an error as far as Magit is concerned, which is another reason we usually hide these error messages. Whether some error message is relevant in the context of some unexpected behavior has to be judged on a case by case basis.