7.1 KiB
title, intro, versions, topics, type, allowTitleToDifferFromFilename, shortTitle
| title | intro | versions | topics | type | allowTitleToDifferFromFilename | shortTitle | |||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| GitHub CLI quickstart | Start using {% data variables.product.prodname_cli %} to work with {% data variables.product.company_short %} in the command line. |
|
|
overview | true | Quickstart |
About {% data variables.product.prodname_cli %}
{% data reusables.cli.about-cli %}
Prerequisites
{% data reusables.rest-api.github-cli-install-and-auth %}
Some useful commands
Note
When you use some commands for the first time - for example,
gh codespace SUBCOMMAND- you'll be prompted to add extra scopes to your authentication token. Follow the onscreen instructions.
Viewing your status
Enter gh status to see details of your current work on {% data variables.product.prodname_dotcom %} across all the repositories you're subscribed to.
Viewing a repository
Enter gh repo view OWNER/REPO to see the repository description and README.md for the repository. Enter gh repo view OWNER/REPO --web to view the repository in your default browser.
If you run the repo subcommand from within the directory of a local Git repository that has a remote on {% data variables.product.prodname_dotcom %} you can omit OWNER/REPO.
Cloning a repository
Enter gh repo clone OWNER/REPO. For example, gh repo clone octo-org/octo-repo clones the octo-org/octo-repo repository to the directory from which you ran this command on your local computer.
Creating a repository
Enter gh repo create and follow the on-screen instructions. You can create a new, empty repository on {% data variables.product.prodname_dotcom %} and then, optionally, clone it locally. Alternatively, you can push an existing local repository to {% data variables.product.prodname_dotcom %}, and optionally set it as the remote for your local repository. For information on setting a local directory as a Git repository, see AUTOTITLE.
Working with issues
Enter gh issue list --repo OWNER/REPO to list the most recently created issues that are currently open for the specified repository. If you run the issue subcommand from within the directory of a local Git repository that has a remote on {% data variables.product.prodname_dotcom %} you can omit --repo OWNER/REPO. For example, enter gh issue list --assignee "@me" to list issues assigned to you in this repository, or gh issue list --author monalisa to list issues created by the user "monalisa."
You can also create a new issue, see AUTOTITLE, or search for an issue, see AUTOTITLE.
Working with pull requests
Enter gh pr list --repo OWNER/REPO to list the most recently created pull requests that are currently open for the specified repository. If you run the pr subcommand from within the directory of a local Git repository that has a remote on {% data variables.product.prodname_dotcom %} you can omit --repo OWNER/REPO. For example, enter gh pr list --author "@me" to list open pull requests that you created in this repository.
Enter gh pr list --label LABEL-NAME to list open pull requests with a specific label. Enter gh search prs --review-requested=@me --state=open to list pull requests that you've been asked to review.
To create a pull request, enter gh pr create and follow the on-screen instructions. For more information, see AUTOTITLE.
Working with codespaces
To create a new codespace, enter gh codespace create and follow the on-screen instructions.
To display your existing codespaces, enter gh codespace list. To open a codespace in the web version of {% data variables.product.prodname_vscode_shortname %} enter gh codespace code -w and choose a codespace.
In all of these commands you can substitute cs for codespace.
Getting help
Enter gh for a reminder of the top-level {% data variables.product.prodname_cli %} commands that you can use. For example, issue, pr, repo, and so on.
For each command, and each subsidiary subcommand, you can append the --help flag to find out how it's used. For example, gh issue --help or gh issue create --help.
Customizing {% data variables.product.prodname_cli %}
You can change configuration settings and add aliases or extensions, to make {% data variables.product.prodname_cli %} work the way that suits you best.
-
Enter
gh config set SUBCOMMANDSto configure {% data variables.product.prodname_cli %}'s settings, replacingSUBCOMMANDSwith the setting you want to adjust.For example, you can specify the text editor that's used when a {% data variables.product.prodname_cli %} command requires you to edit text - such as when you add the body text for a new issue you're creating. To set your preferred text editor to {% data variables.product.prodname_vscode %} enter
gh config set editor "code -w". The-w(or--wait) flag in this example causes the command to wait for the file to be closed in {% data variables.product.prodname_vscode %} before proceeding with the next step in your terminal.For more information, see
gh config set. -
Define aliases for commands that you commonly run. For example, if you run
gh alias set prd "pr create --draft", you will then be able to rungh prdto quickly open a draft pull request. For more information, seegh alias. -
Create or add custom commands with {% data variables.product.prodname_cli %} extensions. For more information, see AUTOTITLE and AUTOTITLE.
Using {% data variables.product.prodname_cli %} with multiple accounts
If you have multiple accounts on the same {% data variables.product.github %} platform, such as {% data variables.location.product_location %}, you can authenticate to each one and switch between them using the gh auth switch command. See gh auth switch in the {% data variables.product.prodname_cli %} manual.
If you need to use the {% data variables.product.prodname_cli %} across multiple {% data variables.product.github %} platforms, such as a personal account on {% data variables.product.prodname_dotcom_the_website %} and a {% data variables.enterprise.prodname_managed_user %} on {% data variables.enterprise.data_residency_site %}, see AUTOTITLE.