Git with less typing

gg requestpull

gg requestpull [-n] [-e=0] [--title=MSG [--body=MSG]] [--draft] [-R user1[,user2]] [BRANCH]

create a GitHub pull request

Create a new GitHub pull request for the given branch (defaults to the one currently checked out). The source will be inferred from the branch’s remote push information and the destination will be inferred from upstream fetch information. This command does not push any new commits; it just creates a pull request.

Before sending the pull request, gg will open an editor with a summary of the commits it knows about. The first line will be the pull request title, and any subsequent lines will be used as the body. You can exit your editor without modifications to accept the default summary.

For non-dry runs, you must create a personal access token at and save it to $XDG_CONFIG_HOME/gg/github_token (or in any other directory in $XDG_CONFIG_DIRS). By default, this would be ~/.config/gg/github_token. gg needs at least public_repo scope to be able to create pull requests, but you can grant repo scope to create pull requests in any repositories you have access to.


-body description
pull request description (requires --title)
create a pull request as draft
invoke editor on pull request message (ignored if --title is specified)
prints the pull request instead of creating it
allow maintainers to edit this branch
-R user
-reviewer user
GitHub usernames of reviewers to add
-title string
pull request title