node-gh/gh
{ "createdAt": "2013-05-11T16:28:48Z", "defaultBranch": "master", "description": "(DEPRECATED) GitHub CLI made with NodeJS. Use the official https://cli.github.com/ instead.", "fullName": "node-gh/gh", "homepage": "http://nodegh.io", "language": "TypeScript", "name": "gh", "pushedAt": "2021-06-04T17:53:51Z", "stargazersCount": 1704, "topics": [ "cli", "deprecated", "github", "nodejs", "programming", "typescript" ], "updatedAt": "2025-11-24T16:40:45Z", "url": "https://github.com/node-gh/gh"}DEPRECATED
Section titled “DEPRECATED”Node GH
Boost your productivity & automate tasks when working with GitHub, all from the comfort of your CLI.
Table of contents
Section titled “Table of contents”Getting Started
Available Commands
Pull Requests `pr`
--info- Get information about a pull request--list- List pull requests--fetch- Rebase or Merge pull request into new branch--comment- Comment on a pull request--fwd- Forward a pull request to another reviewer--open|--close- Open or Close a pull request--submit- Open or Close a pull request--browser- Open GitHub pull request page in the browser
Issues `is`
--new- Create new issues--comment- Comment on an issue of a repository--list- List issues on a repository--open|--close- Open or Close an issue--browser- Open GitHub issue page in the browser--lock- Lock GitHub issue--search- Search issues in current repository--assign- Assign an issue on a repository to a user
Repos `re`
--browser- Open the GitHub repository page in the browser--list- List repos--create- Create a new GitHub repository and clone on the current directory--fork- Fork a GitHub repository--delete- Delete a repository of specified user--clone- Clone a repository--label --new- Create or delete a label for a repository--label --delete- Delete a label for a repository--label --list- List labels for a repository--label --update- Update a label for a repository--search- Find repositories via various criteria
Gists `gi`
User `us`
Notifications `nt`
Milestones `ms`
Alias `al`
Install
Section titled “Install”npm install -g gh- Most commands require you to use a developer key
- We automate the process for you the first time you run a command
- Instructions on manually adding a developer key for extra security
Simple example: list prs for current repo
gh prContributors
Section titled “Contributors”Huge thanks goes to these wonderful people (emoji key):
This project follows the all-contributors specification. Contributions of any kind welcome!
Contributing
Section titled “Contributing”For detailed instructions, check Contributing. Don’t miss the source code reports.
History
Section titled “History”For detailed changelog, check Releases.
License
Section titled “License”Demonstration
Section titled “Demonstration”
Supported Node Versions:
Section titled “Supported Node Versions:”We support the node versions that the Node.js organization supports which as of now is Node v6 & up.
Authentication
Section titled “Authentication”Under the hood, we are using @octokit/rest to work with the GitHub API
The method of authentication that we use with octokit, is a personal access token
You have two options here: 1. Run gh which will start the authentication process & generate the token for you automatically - Though they are hidden, the downside of this is having to type your user & pass - Supports 2fa 2. Manually generate your personal token & add it to your ~/.gh.json
Available commands
Section titled “Available commands”gh helpList all comands options.
gh help --allList specific command options.
gh help <command>Global flags
Section titled “Global flags”| Option | Usage | Type |
|---|---|---|
--verbose | Optional | Boolean |
--insane | Optional | Boolean |
--no-color | Optional | Boolean |
--no-hooks | Optional | Boolean |
The verbose flag is useful for debugging issues. The insane flag is a more complete verbose flag, which leaks more privacy sensitive data by default.
Pull requests
Section titled “Pull requests”gh pull-requestAlias:
gh pr
PR: Info
Section titled “PR: Info”| Option | Usage | Type |
|---|---|---|
-u, --user | Required | String |
-I, --info | Required | Boolean |
-n, --number | Required | String |
-r, --repo | Optional | String |
-u, --user | Optional | String |
Get information about a pull request.
gh pr --info 1PR: List
Section titled “PR: List”| Option | Usage | Type |
|---|---|---|
-l, --list | Required | Boolean |
-a, --all | Optional | Boolean |
-O, --org | Optional | String |
-m, --me | Optional | Boolean |
-d, --detailed | Optional | Boolean |
--direction | Optional | [asc, desc] |
--date | Optional | String |
-b, --branch | Optional | String |
--remote | Optional | String |
-r, --repo | Optional | String |
--sort | Optional | [created, updated, popularity, long-running, complexity] |
-S, --state | Optional | [open, closed] |
-u, --user | Optional | String |
--link | Optional | Boolean |
useris owner of the repository, it is the authenticated user by default.remoteis the name of the remote configuration in a git directory, i.e. origin, upstream.- Therefore, it only makes sense when this command is run in a git directory.
- To turn off pretty printing of output in a table add
"pretty_print": falseto your~/.gh-jsonconfig - To adjust pagination rules
Examples
Section titled “Examples”Shortcut for listing open pull requests for the current repository
gh prList open pull requests for all branches from all your repositories.
gh pr --list --allList open pull requests for all branches in all repositories belonging to the “github” organization.
gh pr --list --all --org githubList open pull requests sent by logged user on current repository.
gh pr --list --meList open pull requests in node-gh/gh repository.
gh pr --list --user node-gh --repo ghList open pull requests with link and content.
gh pr --list --detailedList open pull requests for a branch.
gh pr --list --branch masterList open pull requests and sort them by popularity (comment count).
gh pr --list --sort popularityList open pull requests and sort them by asc long-running (old but still active).
gh pr --list --sort long-running --direction ascList open pull requests and sort them by complexity (complexity is calculated based on number of additions, deletions, changed files, comments and review comments).
gh pr --list --sort complexityList open pull requests with their link
gh pr --list --linkList open pull requests with a formatted date (Any string that the moment library’s formatter accepts should work: https://momentjs.com/docs/#/displaying/format/).
gh pr --list --date "dddd, MMMM Do YYYY, h:mm:ss a"PR: Merge or Rebase
Section titled “PR: Merge or Rebase”| Option | Usage | Type |
|---|---|---|
-f, --fetch | Required | Boolean |
-M, --merge | Required | Boolean |
-R, --rebase | Required | Boolean |
-n, --number | Optional | Number |
-b, --branch | Optional | String |
--draft | Optional | Boolean |
--remote | Optional | String |
-r, --repo | Optional | String |
-u, --user | Optional | String |
Omitting --number will try to guess the pull number from branch name e.g. pr-1 results in --number 1. Omitting --branch will merge or rebase into config.default_branch.
Examples
Section titled “Examples”Shortcut for fetching pull request and checkout into a new branch pr-1.
gh pr 1Merge or rebase pull request into a local branch.
gh pr 1 --fetch --mergegh pr 1 --fetch --rebaseMerge or rebase pull request into branch dev.
gh pr 1 --fetch --rebase --branch devgh pr 1 --fetch --merge --branch devPR: Comment
Section titled “PR: Comment”| Option | Usage | Type |
|---|---|---|
-c, --comment | Required | String |
-n, --number | Required | Number |
--remote | Optional | String |
-r, --repo | Optional | String |
-u, --user | Optional | String |
Examples
Section titled “Examples”Comment on a pull request.
gh pr 1 --comment "Merged, thank you!"Submit a pull request using your default editor by passing an empty --comment
gh pr 1 --commentPR Forward
Section titled “PR Forward”| Option | Usage | Type |
|---|---|---|
--fwd | Required | String |
-n, --number | Required | Number |
Omitting a value for --fwd fallbacks to the default_pr_forwarder key found
in your config file.
Examples
Section titled “Examples”Forward a pull request to another reviewer.
gh pr 1 --fwd usernamePR: Open or Close
Section titled “PR: Open or Close”| Option | Usage | Type |
|---|---|---|
-o, --open | Required | Boolean |
-C, --close | Required | Boolean |
-n, --number | Required | Number |
--remote | Optional | String |
-r, --repo | Optional | String |
-u, --user | Optional | String |
Examples
Section titled “Examples”Open a pull request.
gh pr 1 --openClose a pull request.
gh pr 1 --closeClose multiple pull requests.
gh pr --close --number 1 --number 2Open multiple pull requests.
gh pr --open --number 1 --number 2Open or close a pull request that you’ve sent to someone.
gh pr 1 --close --user eduardolundgrenPR: Submit
Section titled “PR: Submit”| Option | Usage | Type |
|---|---|---|
-s, --submit | Required | String |
-b, --branch | Optional | String |
-D, --description | Optional | String |
-i, --issue | Optional | Number |
-r, --repo | Optional | String |
-t, --title | Optional | String |
Omitting a value for --submit fallbacks to the default_pr_reviewer key found
in your config file. Omitting --title will submit a pull request
using the last commit message as title.
Examples
Section titled “Examples”Submit a pull request using the current branch to the repository owner or organization.
gh pr --submit eduardolundgren --title 'Fix #32' --description 'Awesome fix'Submit a pull request using your default editor by passing an empty --title and or --description
gh pr --submit eduardolundgren --title --descriptionSubmit a pull request using the current branch to dev branch.
gh pr --submit eduardolundgren --branch devSubmit a pull request from a issue.
gh pr --submit eduardolundgren --issue 150Submit a pull request in draft state.
gh pr --submit eduardolundgren --draftPR: Open in Browser
Section titled “PR: Open in Browser”| Option | Usage | Type |
|---|---|---|
-B, --browser | Required | Boolean |
-n, --number | Required | Number |
-u, --user | Optional | String |
-r, --repo | Optional | String |
Examples
Section titled “Examples”Open GitHub pull request page in the browser.
gh pr 100 --browserNotifications
Section titled “Notifications”gh notificationAlias:
gh nt
Notifications: Latest
Section titled “Notifications: Latest”| Option | Usage | Type |
|---|---|---|
-l, --latest | Required | Boolean |
--remote | Optional | String |
-r, --repo | Optional | String |
-u, --user | Optional | String |
--date | Optional | String |
Examples
Section titled “Examples”Shortcut for displaying the latest activities on the current repository.
gh ntDisplay the latest activities on a certain repository.
gh nt --latest --user eduardolundgren --repo node-ghDiplay notifications with a formatted date (Any string that the moment library’s formatter accepts should work: https://momentjs.com/docs/#/displaying/format/).
gh nt --date "dddd, MMMM Do YYYY, h:mm:ss a"Notifications: Watch
Section titled “Notifications: Watch”| Option | Usage | Type |
|---|---|---|
-w, --watch | Required | Boolean |
--remote | Optional | String |
-r, --repo | Optional | String |
-u, --user | Optional | String |
Examples
Section titled “Examples”Watch for any activity on the current repository.
gh nt --watchWatch for any activity on a certain repository.
gh nt --watch --user eduardolundgren --repo node-ghIssues
Section titled “Issues”gh issueAlias:
gh is
Issue: Create
Section titled “Issue: Create”| Option | Usage | Type |
|---|---|---|
-N, --new | Required | Boolean |
-t, --title | Required | String |
-A, --assignee | Optional | String |
-L, --labels | Optional | String |
-m, --message | Optional | String |
--remote | Optional | String |
-r, --repo | Optional | String |
-u, --user | Optional | String |
Examples
Section titled “Examples”Shortcut for creating a new issue on the current repository.
gh is 'Node GH rocks!' 'Body with **Markdown** support'Create a new issue using your default editor by passing an empty --message (also works with an empty title)
gh is --new --title 'Node GH rocks!' --messageCreate a new issue on a certain repository.
gh is --new --title 'Node GH rocks!' --message 'Body with **Markdown** support' --user eduardolundgren --repo node-ghCreate a new issue with labels.
gh is --new --title 'Node GH rocks!' --labels bug,question,testCreate a new issue and assign it to someone.
gh is --new --title 'Node GH rocks!' --assignee zenorochaIssue: Comment
Section titled “Issue: Comment”| Option | Usage | Type |
|---|---|---|
-c, --comment | Required | String |
-n, --number | Required | Number |
--remote | Optional | String |
-r, --repo | Optional | String |
-u, --user | Optional | String |
Examples
Section titled “Examples”Comment on an issue of the current repository.
gh is 1 --comment 'Node GH rocks!'Comment on an issue using your default editor by passing an empty --comment (also works with an empty title)
gh is 1 --commentComment on an issue of a certain repository.
gh is 1 --comment 'Node GH rocks!' --user eduardolundgren --repo node-ghIssue: Open or Close
Section titled “Issue: Open or Close”| Option | Usage | Type |
|---|---|---|
-o, --open | Required | Boolean |
-C, --close | Required | Boolean |
-n, --number | Required | Number |
--remote | Optional | String |
-r, --repo | Optional | String |
-u, --user | Optional | String |
Examples
Section titled “Examples”Open an issue.
gh is 1 --openClose an issue.
gh is 1 --closeClose multiple issues.
gh is --close --number 1 --number 2Open multiple issues.
gh is --open --number 1 --number 2Open or close an issue that you’ve sent to someone.
gh is 1 --close --user eduardolundgrenIssue: List
Section titled “Issue: List”| Option | Usage | Type |
|---|---|---|
-l, --list | Required | Boolean |
-a, --all | Optional | Boolean |
-A, --assignee | Optional | String |
--date | Optional | String |
-d, --detailed | Optional | Boolean |
-L, --labels | Optional | String |
-M, --milestone | Optional | [Number, String] |
--remote | Optional | String |
-r, --repo | Optional | String |
-S, --state | Optional | [open, closed] |
-u, --user | Optional | String |
- To adjust pagination rules
Examples
Section titled “Examples”Shortcut for listing all issues on the current repository.
gh isList all issues from all repositories.
gh is --list --allList issues assigned to someone.
gh is --list --assignee zenorochaList issues with link and content.
gh is --list --detailedList only closed issues on the current repository.
gh is --list --state closedList issues with a formatted date (Any string that the moment library’s formatter accepts should work: https://momentjs.com/docs/#/displaying/format/).
gh is --list --date "dddd, MMMM Do YYYY, h:mm:ss a"List issues filtered by milestone title.
gh is --list --milestone "milestone title"List issues that contains labels todo and bug.
gh is --list --labels todo,bugList all issues on a certain repository.
gh is --list --user eduardolundgren --repo node-ghIssue: Open in Browser
Section titled “Issue: Open in Browser”| Option | Usage | Type |
|---|---|---|
-B, --browser | Required | Boolean |
-n, --number | Required | Number |
-u, --user | Optional | String |
-r, --repo | Optional | String |
Examples
Section titled “Examples”Shortcut for opening GitHub issue page in the browser.
gh is 100Open GitHub issue page in the browser.
gh is 100 --browserIssue: Lock
Section titled “Issue: Lock”| Option | Usage | Type |
|---|---|---|
--lock | Required | Boolean |
--lock-reason | Optional | [off-topic, too heated, resolved, spam] |
-n, --number | Required | Number |
--remote | Optional | String |
-r, --repo | Optional | String |
-u, --user | Optional | String |
Examples
Section titled “Examples”Lock issue on the current repository.
gh is 1 --lockLock issue on the current repository with a reason.
gh is 1 --lock --lock-reason resolvedIssue: Search
Section titled “Issue: Search”| Option | Usage | Type |
|---|---|---|
-s, --search | Required | Boolean |
-a, --all | Optional | Boolean |
-d, --detailed | Optional | Boolean |
-r, --repo | Optional | String |
-u, --user | Optional | String |
Examples
Section titled “Examples”Search issues in current repository
gh is --search 'term'Search issues in all repositories for a user
gh is --all --user node-gh --search 'term'Search issues in a repository for a user
gh is --user node-gh --repo gh --search 'term'Search issues in a repository for a user with link and content
gh is --user node-gh --repo gh --search 'term'Search issues with github filters
gh is --user node-gh --repo gh --search 'updated:<=2013-05-24'Issue: Assign
Section titled “Issue: Assign”| Option | Usage | Type |
|---|---|---|
--assign | Required | Boolean |
-A, --assignee | Required | String |
-n, --number | Required | Number |
-r, --repo | Optional | String |
-u, --user | Optional | String |
Examples
Section titled “Examples”Assign an issue on the current repository to a user.
gh is --assign --assignee zenorocha --number 1Assign an issue on a specific repository to a user.
gh is --assign --assignee zenorocha --number 1 --user eduardolundgren --repo ghgh repoAlias:
gh re
Repo: Open in Browser
Section titled “Repo: Open in Browser”| Option | Usage | Type |
|---|---|---|
-B, --browser | Required | Boolean |
-u, --user | Optional | String |
-r, --repo | Optional | String |
Examples
Section titled “Examples”Shortcut for opening the GitHub repository page in the browser.
gh reOpen GitHub repository page in the browser.
gh re --browser --user eduardolundgren --repo node-ghRepo: List
Section titled “Repo: List”| Option | Usage | Type |
|---|---|---|
-l, --list | Required | Boolean |
-d, --detailed | Optional | Boolean |
-u, --user | Optional | String |
-t, --type | Optional | [all, owner, public, private, member] |
--date | Optional | String |
Examples
Section titled “Examples”List all repositories.
gh re --listList all private repositories.
gh re --list --type privateList all repositories from someone.
gh re --list --user zenorochaList open repositories with a formatted date (Any string that the moment library’s formatter accepts should work: https://momentjs.com/docs/#/displaying/format/).
gh re --list --detailed --date "dddd, MMMM Do YYYY, h:mm:ss a"Repo: Create
Section titled “Repo: Create”| Option | Usage | Type |
|---|---|---|
-N, --new | Required | String |
-O, --organization | Optional | String |
-c, --clone | Optional | Boolean |
-t, --type | Optional | [private] |
--init | Optional | Boolean |
--gitignore | Optional | String |
--homepage | Optional | String |
--description | Optional | String |
Examples
Section titled “Examples”Create a new GitHub repository and clone on the current directory.
gh re --new foo --cloneCreate a new GitHub repository based on the name of the current directory & init with a README
gh re --new --clone --initCreate a new GitHub repository for an organization.
gh re --new foo --organization node-ghCreate a new GitHub repository using .gitignore template for Ruby.
gh re --new gemified --gitignore RubyCreate a new private repository on GitHub, initializing it with a initial commit of the README.
gh re --new foo --init --type privateRepo: Fork
Section titled “Repo: Fork”| Option | Usage | Type |
|---|---|---|
-f, --fork | Required | String |
-u, --user | Required | String |
-O, --organization | Optional | String |
Examples
Section titled “Examples”Fork a GitHub repository.
gh re --fork repo --user userFork a GitHub repository into the node-gh organization.
gh re --fork repo --user user --organization node-ghRepo: Delete
Section titled “Repo: Delete”| Option | Usage | Type |
|---|---|---|
-D, --delete | Required | String |
-u, --user | Required | String |
Example
Section titled “Example”Delete a repository of the logged user.
gh re --delete fooRepo: Clone
Section titled “Repo: Clone”| Option | Usage | Type |
|---|---|---|
-c, --clone | Required | String |
-r, --repo | Required | String |
-O, --organization | Optional | String |
-P, --protocol | Optional | String |
-u, --user | Optional | String |
If you have custom ssh config, you can add
"api": { "ssh_host": "custom-name", ... }to your .gh.json file.
Examples
Section titled “Examples”Clone a repository.
gh re --clone --repo ghClone a repository from a specific user using HTTPS protocol.
gh re --clone --user eduardolundgren --repo gh --protocol httpsRepo: Create Label
Section titled “Repo: Create Label”| Option | Usage | Type |
|---|---|---|
-C, --color | Required | String |
-L, --label | Required | Boolean |
-N, --new | Required | String |
-r, --repo | Required | String |
-O, --organization | Optional | String |
-u, --user | Optional | String |
Examples
Section titled “Examples”Create a label for a repository (color is a hex code with or without literal hex symbol).
gh re --label --new bug --color '#7057ff' --repo ghCreate a label for a user’s repository.
gh re --label --new bug --color '#7057ff' --user eduardolundgren --repo ghRepo: Delete Label
Section titled “Repo: Delete Label”| Option | Usage | Type |
|---|---|---|
-L, --label | Required | Boolean |
-D, --delete | Required | String |
-r, --repo | Required | String |
-O, --organization | Optional | String |
-u, --user | Optional | String |
Examples
Section titled “Examples”Delete a label from a repository.
gh re --label --delete bug --repo ghDelete a label from a user’s repository.
gh re --label --delete bug --user eduardolundgren --repo ghRepo: List Labels
Section titled “Repo: List Labels”| Option | Usage | Type |
|---|---|---|
-L, --label | Required | Boolean |
-l, --list | Required | Boolean |
-r, --repo | Required | String |
-O, --organization | Optional | String |
-u, --user | Optional | String |
Examples
Section titled “Examples”List labels for a repository.
gh re --label --list --repo ghList labels for a user’s repository.
gh re --label --list --user eduardolundgren --repo ghRepo: Update Label
Section titled “Repo: Update Label”| Option | Usage | Type |
|---|---|---|
-C, --color | Required | String |
-L, --label | Required | Boolean |
-r, --repo | Required | String |
-U, --update | Required | String |
-O, --organization | Optional | String |
-u, --user | Optional | String |
Examples
Section titled “Examples”Update a label for a repository (color is a hex code with or without literal hex symbol).
gh re --label --update bug --color color --repo ghUpdate a label for a user’s repository.
gh re --label --update bug --color color --user eduardolundgren --repo ghRepo: Search
Section titled “Repo: Search”Find repositories via various criteria. Repository search looks through the projects you have access to on GitHub. You can filter the results using GitHub’s search qualifiers. Examples:
| Option | Usage | Type |
|---|---|---|
-s, --search | Required | Boolean |
-d, --detailed | Optional | Boolean |
-u, --user | Optional | String |
-r, --repo | Optional | String |
-O, --organization | Optional | String |
-t, --type | Optional | [all, owner, public, private, member] |
Examples
Section titled “Examples”Search private repositories you have access to with the term “secret”.
gh re --search secret --type privateOR
gh re --search secret is:privateMatches repositories from GitHub org showing detailed results.
gh re --detailed -o github --search octocatOR
gh re --detailed --search octocat org:githubgh gistsAlias:
gh gi
Gist: Open in Browser
Section titled “Gist: Open in Browser”| Option | Usage | Type |
|---|---|---|
-B, --browser | Required | Boolean |
-u, --user | Optional | String |
-i, --id | Optional | String |
Examples
Section titled “Examples”Shortcut for opening your Gists in the browser.
gh giOpen a Gist in the browser.
gh gi --browser --id 5991877Gist: List
Section titled “Gist: List”| Option | Usage | Type |
|---|---|---|
-l, --list | Required | Boolean |
-u, --user | Optional | String |
--date | Optional | String |
Examples
Section titled “Examples”List all gists.
gh gi --listList all gists from someone.
gh gi --list --user brunocoelhoList gists with a formatted date (Any string that the moment library’s formatter accepts should work: https://momentjs.com/docs/#/displaying/format/).
gh gi --list --date "dddd, MMMM Do YYYY, h:mm:ss a"Gist: Create
Section titled “Gist: Create”| Option | Usage | Type |
|---|---|---|
-N, --new | Required | String |
-c, --content | Optional | String |
-d, --description | Optional | String |
-p, --private | Optional | Boolean |
Examples
Section titled “Examples”Create a Gist hello containing “Hello World”.
gh gi --new hello --content "Hello World!"Create a private Gist hello containing “Hello World”.
gh gi --new hello --content "Hello World!" --privateGist: Fork
Section titled “Gist: Fork”| Option | Usage | Type |
|---|---|---|
-f, --fork | Required | String |
Examples
Section titled “Examples”Fork a Gist.
gh gi --fork 5444883Gist: Delete
Section titled “Gist: Delete”| Option | Usage | Type |
|---|---|---|
-D, --delete | Required | String |
Example
Section titled “Example”Delete a Gist.
gh gi --delete 4252323Delete multiple Gists.
gh gi --delete 4252321 --delete 4252322gh userAlias:
gh us
User: Login or Logout
Section titled “User: Login or Logout”| Option | Usage | Type |
|---|---|---|
-l, --login | Required | Boolean |
-L, --logout | Required | Boolean |
Examples
Section titled “Examples”Automates saving user name & generating developer token credentials to your ~/.gh.json config
- This is the the user that will be used if you do not manually pass in
--user username - After you are logged in, you should no longer be prompted to go through the login process again
- Alternatively you can create your own developer key and copy and paste it
- First add a file in your home directory called
~/.gh.json - You can use the
default.gh.jsonfile in our repo as a template - Create a developer key: with these scopes:
['user', 'public_repo', 'repo', 'repo:status', 'delete_repo', 'gist'] - Then copy & paste your token in the file at:
"github_token" - Write your user name at
"github_user"
- First add a file in your home directory called
gh user --loginAutomates removing user name & developer token credentials to your ~/.gh.json config
gh user --logoutUser: Whoami
Section titled “User: Whoami”| Option | Usage | Type |
|---|---|---|
-w, --whoami | Required | Boolean |
Examples
Section titled “Examples”Prints the user name from ~/.gh.json to your console.
gh user --whoamiMilestones
Section titled “Milestones”gh milestoneAlias:
gh ms
Milestone: List
Section titled “Milestone: List”| Option | Usage | Type |
|---|---|---|
-l, --list | Required | Boolean |
-u, --user | Required | String |
-a, --all | Required | Boolean |
-r, --repo | Optional | String |
-o, --organization | Optional | String |
Examples
Section titled “Examples”Shortcut for listing milestones for a specific repo.
gh msListing milestones for a specific repo & user.
gh ms --list --user node-gh --repo ghListing all milestones for a specific organization.
gh ms --list --all --organization node-ghThis cmd provides something similar to shell aliases. If there are aliases in your .gh.json file, we will attempt to resolve the user, PR forwarder or PR submitter to your alias.
gh aliasAlias:
gh al
Alias: List
Section titled “Alias: List”| Option | Usage | Type |
|---|---|---|
-l, --list | Required | Boolean |
Examples
Section titled “Examples”Shortcut for listing aliases.
gh aliasList aliases.
gh alias --listAlias: Add
Section titled “Alias: Add”| Option | Usage | Type |
|---|---|---|
-a, --add | Required | String |
-u, --user | Required | String |
Examples
Section titled “Examples”Create alias for username.
gh alias --add zeno --user zenorochaAnd use like:
gh pr --submit zeno -b master -t TitleAlias: Remove
Section titled “Alias: Remove”| Option | Usage | Type |
|---|---|---|
-r, --remove | Required | String |
Examples
Section titled “Examples”Remove alias.
gh alias --remove zenoConfig
Section titled “Config”There are some pretty useful configurations that you can set on [.gh.json]!(default.gh.json).
This file can be found under home directory (on MacOSx: /Users/yourName/.gh.json on Windows: C:\\Users\yourName\.gh.json).
You can also set per-project configurations by adding a .gh.json file in your project’s root folder and overriding existing keys.
GitHub API configurations.
Section titled “GitHub API configurations.”Change it if you’re a GitHub Enterprise user.
"api": { "host": "github.mydomain.com", "protocol": "https"}Set Pagination Rules
Section titled “Set Pagination Rules”- For list based commands (like listing prs, issues, or repos) we default to 30
- That means if you ran
gh pryou would see a max of 30 pull requests - If you would like to see more, we will prompt you in your terminal to see the next batch
- You can set your page size up from
1to100
"page_size": 77- If you want to remove the limit & set it to the maximum, use an empty string
"page_size": ""Set default branch and remote.
Section titled “Set default branch and remote.”"default_branch": "master","default_remote": "origin"Set default users
Section titled “Set default users”For submitting or forwarding pull requests.
"default_pr_forwarder": "","default_pr_reviewer": ""Update GitHub credentials manually
Section titled “Update GitHub credentials manually”"github_token": "your_dev_token","github_user": "username"Run automated tasks before or after a certain command.
Section titled “Run automated tasks before or after a certain command.”"hooks": { "pull-request": { "merge": { "before": [{"cmd": "ls -la", "log": true}], "after": [ "gh pr {{options.number}} --comment 'Thank you, pull request merged :D'" ] } }}Run automated tasks passing arguments to the commands.
Section titled “Run automated tasks passing arguments to the commands.”Required for prompt commands.
"hooks": { "pull-request": { "merge": { "before": [{"cmd": "foo", "args": ["bar", "qux"]}] } }}Set default branch name prefix for PR fetching.
Section titled “Set default branch name prefix for PR fetching.”"pull_branch_name_prefix": "pr-"Set default editor to use when creating a new message
Section titled “Set default editor to use when creating a new message”- For certain tasks like opening a pull request when you omit the title or description, we will open a new file for you to create the message in.
- We first check enviroment variables for the default editor:
$EDITORor$VISUALand fallback to the default git editorgit config --global core.editor - To disable this functionality of opening your editor add
"use_editor": falseto~/.gh.json
Insert signature below issue comment.
Section titled “Insert signature below issue comment.”"signature": "<br><br>:octocat: *Sent from [GH](http://nodegh.io).*"Turn off ssh when pulling a repo and use https instead.
Section titled “Turn off ssh when pulling a repo and use https instead.”"ssh": false,If you need to use a custom git command, set the environment variable GH_GIT_COMMAND.
Plugins
Section titled “Plugins”GH Gif - A plugin for commenting on pull requests/issues using GIF reactions. GH Travis - A plugin for integrating Travis, a continous integration server. GH Jira - A plugin for integrating Jira, an issue management system.
Feel free to create your own plugins by forking GH Boilerplate.