To keep to my cli-workflow, I make regular use of the GitHub CLI
tool, gh
on the command line.
The manual specifies that you can specify the GH_HOST
environment variable to direct it to a GitHub Enterprise server, but
I don’t want to have to type that in every time. I added the following
to my .bashrc
:
ghe() { GH_HOST="github.example.com" gh "$@"; }
complete -o default -F __start_gh ghe
Now, I can just run gh
for public GitHub actions, and ghe
for
anything to do with example.com
’s server.
Since I also use yadm for managing my dotfiles, I have this wrapped in a conditional check to only be used if this device is a work machine:
if yadm config --get-all local.class | grep -q "work"; then
ghe() { GH_HOST="github.example.com" gh "$@"; }
complete -o default -F __start_gh ghe
#...
fi
Before GitHub released their official cli tool, I regularly used hub.
I keep both installed, because sometimes my fingers are still in the habit
of using hub
’s syntax. If you’re in the same situation, you can configure
hub to use a GitHub Enterprise server:
$ git config --global --add hub.host github.example.com
to add the following to your ~/.gitconfig
:
[hub]
host = github.example.com
Add an entry for that host to your ~/.config/hub
file:
github.example.com:
- user: jlavoie
oauth_token: ghp_1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ
protocol: https
And an alias in your ~/.bashrc
:
alias gite="GH_HOST=github.example.com hub"