FYI: The executable module implements some logic about this:

- `git!` raises if the exit code is not 0 (it is intended to abort on unexpected failures for subprocesses).
- `git` doesn't raise (intended to be used in cases where we are checking for a failure).