-
-
Save yermulnik/017837c01879ed3c7489cc7cf749ae47 to your computer and use it in GitHub Desktop.
git_protocol: ssh | |
aliases: | |
personal: '!cp ~/.config/gh/hosts.yml.personal ~/.config/gh/hosts.yml && gh auth status' | |
work: '!cp ~/.config/gh/hosts.yml.work ~/.config/gh/hosts.yml && gh auth status' |
#config.yml
tyvm!
Thank you! Save a lot of time to re-authenticate
doing the lord work, thank you sir
This is really dang helpful.
Thanks a ton!
thank you very much!
f*cking love you
This is the best thing since sliced cheese. I do hope this will be solved by upstream. Thank you!
So good!
Thanks!
This is true the love of my life
thank you T_T
Thank you very much. It works great. But I had to add gh auth setup-git
to the aliases to make git recognize switched profiles. So, my aliases inside ~/.config/gh/config.yml
looks like as below currently:
aliases:
co: pr checkout
personal: '!cp ~/.config/gh/hosts.personal.yml ~/.config/gh/hosts.yml && gh auth setup-git && gh auth status'
work: '!cp ~/.config/gh/hosts.work.yml ~/.config/gh/hosts.yml && gh auth setup-git && gh auth status'
This method works like a charm with direnv
.
Suppose you have
~/work
~/personal
Put .envrc
in each dir and write the same thing.
ex.) ~/work/.envrc
/bin/cp ~/.config/gh/work.yml ~/.config/gh/hosts.yml && gh auth status
When you cd ~/work
, the command above is automatically run by direnv
.
https://github.com/cli/cli/releases/tag/v2.40.0
With the
v2.40.0
release, multi-account support is introduced togh
for GitHub.com and GitHub Enterprise and it is only the beginning!
Thanks. The one thing that is missing for me (...or I just haven't worked it out yet):
Can you use a hostname other than 'github.com'?
For instance if your .ssh/config has a 'github-work' and a 'github-personal' how would one point the alias (or hosts.yml.work, not sure where it would need to happen) to use the 'github-work' hostname from .ssh/config?
Still love this overall though, thanks!
Can you use a hostname other than 'github.com'?
You should be able to. Try replacing the github.com
in hosts.yml.<whetever_you_named_it>
with the actual GHE hostname that you use to connect to your GHE instance.
For instance if your .ssh/config has a 'github-work' and a 'github-personal' how would one point the alias (or hosts.yml.work, not sure where it would need to happen) to use the 'github-work' hostname from .ssh/config?
Don't think it's feasible as GH CLI and SSH CLI don't have anything in common around SSH host aliases.
To the best of my knowledge, in GH CLI config you have to use actual GH instance hostname and it doesn't support aliasing. But you should be good to go with actual GHE instance hostname.
Still love this overall though, thanks!
Nowadays you definitely should better use gh auth login
and gh auth switch
(see gh auth login --help
and gh auth switch --help
for details on args).
Thanks for the quick response, and I'll look into gh switch
and multiple accounts too. Cheers.
Thank you!