Gh: Difference between revisions

From NovaOrdis Knowledge Base
Jump to navigation Jump to search
Line 31: Line 31:
</syntaxhighlight>
</syntaxhighlight>
==Configure Git to Use <tt>gh</tt> as Credential Helper==
==Configure Git to Use <tt>gh</tt> as Credential Helper==
<code>gh</code> repository cloning commands, and probably others, will continue to challenge for username and password, unless <code>git</code> is configured to use <code>gh</code> as credential helper. Note that this command must be executed '''after''' login.
<code>gh</code> repository cloning commands, and probably others, will continue to challenge for username and password, unless <code>git</code> is configured to use <code>gh</code> as credential helper.
 
⚠️ Note that this command must be executed '''after''' login.
 
<syntaxhighlight lang='bash'>
<syntaxhighlight lang='bash'>
gh auth setup-git [--hostname enterprise.internal]
gh auth setup-git [--hostname enterprise.internal]
</syntaxhighlight>
</syntaxhighlight>
==Logout==
==Logout==
<syntaxhighlight lang='bash'>
<syntaxhighlight lang='bash'>

Revision as of 21:51, 2 May 2022

External

Internal

Overview

GitHub-specific CLI. Can be used to authenticate, clone repositories, etc.

Installation

Mac

brew install gh

Linux

sudo dnf install -y 'dnf-command(config-manager)'
sudo dnf config-manager --add-repo https://cli.github.com/packages/rpm/gh-cli.repo
sudo dnf install -y gh

Authentication

Authentication Status

gh auth status --hostname enterprise.internal --show-token

Authenticate with a Personal Access Token

gh auth login --hostname enterprise.internal --with-token < mytoken.txt
gh auth login --hostname github.mycompany.com status --with-token < mytoken.txt

Configure Git to Use gh as Credential Helper

gh repository cloning commands, and probably others, will continue to challenge for username and password, unless git is configured to use gh as credential helper.

⚠️ Note that this command must be executed after login.

gh auth setup-git [--hostname enterprise.internal]

Logout

gh auth --hostname github.mycompany.com logout

Clone Repository

gh repo clone <org>/<repo-name>

Full Sequence of Operations for Cloning, Including Authentication

gh auth setup-git --hostname github.mycompany.com
gh auth login --hostname github.mycompany.com status --with-token < mytoken.txt
gh repo clone <org>/<repo-name>