code: public function setPrivateKey(string $privateKey, int $port = 22, ?string $wrapper = null): void
      {
          if ($wrapper === null) {
              $wrapper = __DIR__ . '/../bin/git-ssh-wrapper.sh';
          }
  
          if (! $wrapperPath = realpath($wrapper)) {
              throw new GitException('Path to GIT_SSH wrapper script could not be resolved: ' . $wrapper);
          }
  
          if (! $privateKeyPath = realpath($privateKey)) {
              throw new GitException('Path private key could not be resolved: ' . $privateKey);
          }
  
          $this->setEnvVar('GIT_SSH', $wrapperPath);
          $this->setEnvVar('GIT_SSH_KEY', $privateKeyPath);
          $this->setEnvVar('GIT_SSH_PORT', $port);
      }
docs: Set an alternate private key used to connect to the repository.
  
  This method sets the GIT_SSH environment variable to use the wrapper
  script included with this library. It also sets the custom GIT_SSH_KEY
  and GIT_SSH_PORT environment variables that are used by the script.
  
  @param string|null $wrapper Path the the GIT_SSH wrapper script, defaults to null which uses the
  script included with this library.