You are currently viewing How to install and configure GitHub CLI (gh)?

How to install and configure GitHub CLI (gh)?

How to install and configure GitHub CLI (gh)?

Hello Everyone

Welcome to CloudAffaire and this is Debjeet.

Today we are going to discuss, how to install and configure GitHub CLI (gh).

What is GitHub CLI (gh)?

GitHub CLI also known as gh is GitHub on the command line. It brings pull requests, issues, and other GitHub concepts to the terminal next to where you are already working with git and your code.

Prerequisites:

GitHub CLI (gh) Installation:

How to install GitHub CLI (gh) on MAC OS?

How to install GitHub CLI (gh) on Windows OS?

How to install GitHub CLI (gh) on Ubuntu and Debian OS?

How to install GitHub CLI (gh) on RHEL, CentOS, and Fedora OS?

How to install GitHub CLI (gh) on AWS EC2 instance with Amazon Linux 2 OS?

How to install GitHub CLI (gh) on openSUSE OS?

How to install GitHub CLI (gh) from source?

How to install GitHub CLI (gh) on Linux OS (other distributions)?

Validate the GitHub CLI installation:

GitHub CLI (gh) authentication:

In order to interact with your GitHub account using gh, you first need to authenticate GitLab CLI (gh) to GitHub using your GitHub Personal Access Token (PAT). Alternatively, you can also use “gh auth login” command for browser based authentication.

How to authenticate GitHub CLI (gh)?

GitHub CLI (gh) configuration:

You can use “gh config” command or environment variables to configured different options for GitHub CLI (gh).

How to configure GitHub CLI (gh) using “git config”?

You can set below configuration options for GitHub CLI (gh) using “gh config set” command.

  • git_protocol: the protocol to use for git clone and push operations (default: “https”)
  • editor: the text editor program to use for authoring text
  • prompt: toggle interactive prompting in the terminal (default: “enabled”)
  • pager: the terminal pager program to send standard output to
  • http_unix_socket: the path to a Unix socket through which to make an HTTP connection
  • browser: the web browser to use for opening URLs

Example:

How to configure GitHub CLI (gh) using environment variables?

GitHub CLI (gh) supports following environment variable to configure itself:

  • GH_TOKEN, GITHUB_TOKEN (in order of precedence): an authentication token for github.com API requests. Setting this avoids being prompted to authenticate and takes precedence over previously stored credentials.
  • GH_ENTERPRISE_TOKEN, GITHUB_ENTERPRISE_TOKEN (in order of precedence): an authentication token for API requests to GitHub Enterprise. When setting this, also set GH_HOST.
  • GH_HOST: specify the GitHub hostname for commands that would otherwise assume the “github.com” host when not in a context of an existing repository.
  • GH_REPO: specify the GitHub repository in the “[HOST/]OWNER/REPO” format for commands that otherwise operate on a local repository.
  • GH_EDITOR, GIT_EDITOR, VISUAL, EDITOR (in order of precedence): the editor tool to use for authoring text.
  • GH_BROWSER, BROWSER (in order of precedence): the web browser to use for opening links.
  • DEBUG: set to any value to enable verbose output to standard error. Include values “api” or “oauth” to print detailed information about HTTP requests or authentication flow.
  • GH_PAGER, PAGER (in order of precedence): a terminal paging program to send standard output to, e.g. “less”.
  • GLAMOUR_STYLE: the style to use for rendering Markdown.
  • NO_COLOR: set to any value to avoid printing ANSI escape sequences for color output.
  • CLICOLOR: set to “0” to disable printing ANSI colors in output.
  • CLICOLOR_FORCE: set to a value other than “0” to keep ANSI colors in output even when the output is piped.
  • GH_FORCE_TTY: set to any value to force terminal-style output even when the output is redirected. When the value is a number, it is interpreted as the number of columns available in the viewport. When the value is a percentage, it will be applied against the number of columns available in the current viewport.
  • GH_NO_UPDATE_NOTIFIER: set to any value to disable update notifications. By default, gh checks for new releases once every 24 hours and displays an upgrade notice on standard error if a newer version was found.
  • GH_CONFIG_DIR: the directory where gh will store configuration files. Default: “$XDG_CONFIG_HOME/gh” or “$HOME/.config/gh”.

Example:

Hope you have enjoyed this article. To get more details in GitHub CLI, please refer the below documentation

https://cli.github.com/manual/

Leave a Reply