getRemoteInfo
List a remote servers branches, tags, and capabilities.
| param | type [= default] | description | 
|---|---|---|
| core | string = 'default' | The plugin core identifier to use for plugin injection | 
| url | string | The URL of the remote repository. Will be gotten from gitconfig if absent. | 
| corsProxy | string | Optional CORS proxy. Overrides value in repo config. | 
| forPush | boolean = false | By default, the command queries the 'fetch' capabilities. If true, it will ask for the 'push' capabilities. | 
| noGitSuffix | boolean = false | If true, clone will not auto-append a .git suffix to the url. (AWS CodeCommit needs this option) | 
| username | string | See the Authentication documentation | 
| password | string | See the Authentication documentation | 
| token | string | See the Authentication documentation | 
| oauth2format | string | See the Authentication documentation | 
| headers | object | Additional headers to include in HTTP requests, similar to git's extraHeader config | 
| return | Promise<RemoteDescription> | Resolves successfully with an object listing the branches, tags, and capabilities of the remote. | 
The object returned has the following schema:
type RemoteDescription = {
  capabilities: Array<string>; // The list of capabilities returned by the server (part of the Git protocol)
  refs: {
    heads: Object<string, string>; // The branches on the remote
    pull: Object<string, string>; // The special branches representing pull requests (non-standard)
    tags: Object<string, string>; // The tags on the remote
  };
}
This is a rare command that doesn't require an fs, dir, or even gitdir argument.
It just communicates to a remote git server, using the first step of the git-upload-pack handshake, but stopping short of fetching the packfile.
Example Code:
let info = await git.getRemoteInfo({
  url:
    "$input((https://cors.isomorphic-git.org/github.com/isomorphic-git/isomorphic-git.git))"
});
console.log(info);