Git with less typing

gg push

gg push [-f] [-r REF [...]] [--new-branch] [DST]

push changes to the specified destination

gg push pushes branches and tags to mirror the local repository in the destination repository. It does not permit diverging commits unless -f is passed. If the -r is not given, gg push will push all branches that exist in both the local and destination repository as well as all tags. The argument to -r must name a ref: it cannot be an arbitrary commit.

When no destination repository is given, tries to use the remote specified by the configuration value of remote.pushDefault or the remoted called origin otherwise.

By default, gg push will fail instead of creating a new ref in the destination repository. If this is desired (e.g. you are creating a new branch), then you can pass --new-branch to override this check. -f will also skip this check.


allow pushing a new ref
allow overwriting ref if it is not an ancestor, as long as it matches the remote-tracking branch
whether to run Git hooks
-r ref
source refs