code: public function git(string $commandLine, ?string $cwd = null): string
      {
          $command = new GitCommand($commandLine);
          $command->executeRaw(is_string($commandLine));
          $command->setDirectory($cwd);
          return $this->run($command);
      }
docs: The command is simply a raw command line entry for everything after the Git binary.
  For example, a `git config -l` command would be passed as `config -l` via the first argument of this method.
  
  @return string The STDOUT returned by the Git command.