Perform a push.
If options are specified and this remote is already connected then the existing remote connection options will be discarded and the remote will now use the new options.
the refspecs to use for pushing. If NULL or an empty array, the configured refspecs will be used
0 or an error code.