1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

GitHubの個人アカウントとGitHub Enterpriseのアカウントを同じPCで併用する場合のGit環境の設定

Posted at

Motivation

お仕事でGitHub Enterpriseで作成されたアカウントを使うことになりました。一方でもちろんGitHubの個人アカウントを持っています。一つの端末でこれら二つを併用したい場合の環境構築で時間を費やしたので、ドキュメンテーションします。

前提

  • GitHubの個人アカウントを持っている
  • GitHub Enterpriseのアカウントを持っている
  • GitHub EnterpriseがGitHubにホストされている
  • ローカルでGitを使っている

環境構築の順序のまとめ

  1. GitHubの個人アカウント用のSSHキーを作成する
  2. GitHubの個人アカウントでSSHキーを登録する
  3. ssh config に、個人アカウントにSSHでアクセスするときの設定を書く
  4. GitHubの個人アカウントでアクセストークンを払い出す
  5. Git のオリジンを 3 で設定したHostを使うように設定する
  6. GitHubの個人アカウントに属しているリポジトリでは、個人アカウントで払い出したアクセストークンを使用する
  7. 1~6までをGitHub Enterpriseで繰り返す

GitHubの個人アカウント用のSSHキーを作成する

SSHキーをローカルで作成してください。こちらにGitHub公式のドキュメントがあります。

GitHubの個人アカウントでSSHキーを登録する

GitHubにサインインした状態で設定ページにある、SSH and GPG keys というセクションをクリックしてください。New SSH key をクリックすると登録画面が表示されます。タイトルは任意です。この作業もこちらにGitHubの公式のドキュメントがあります。

ssh configに、個人アカウントにSSHでアクセスするときの設定を書く

~/.ssh/config に個人アカウントにSSHでアクセスするときの設定を書きます。

Host personalgit
    HostName github.com
    User git
    IdentityFile ~/.ssh/personal_git.pub
    IdentitiesOnly yes

GitHubの個人アカウントでアクセストークンを払い出す

ローカルのGitからGitHubにアクセスするときの認証を行うためのアクセストークンを払い出します。これもこちらにGitHub公式のドキュメントがあります。

Git のオリジンを 3 で設定したHostを使うように設定する

GitでGitHubにアクセスするときに、SSHエージェントが3で施した設定に基づいてアクセスできるようにするため、リポジトリのオリジンを以下のように設定します。

git remote set-url origin personalgit:your-user-name/repository-name.git

GitHubの個人アカウントに属しているリポジトリでは、個人アカウントで払い出したアクセストークンを使用する

GitでGitHubにアクセスするときに、払い出したアクセストークンを使うようにしてください。これもこちらにGitHub公式のドキュメントがあります。

GitHub Enterpriseのアカウントの設定

基本的には1~6の繰り返しになります。

ssh config

~/.ssh/config には以下の設定を追加します。

Host workgit
    HostName github.com
    User git
    IdentityFile ~/.ssh/work_git.pub
    IdentitiesOnly yes
Gitのオリジン

以下のように設定します。

git remote set-url origin workgit:your-organization/repository-name.git

GitHub CLIを使う場合

今日2023/04/06時点でGitHub CLI自体には複数のアカウントをサポートする機能が、こちらを見る限りなさそうです。が、1Passwordを使うことによって実現できます。こちらに1Passwordの公式ドキュメントがあります。

これを使用した場合、Gitの設定についても1Passwordの公式ドキュメントに記載があります。このドキュメントは一部引用しています。こちらです。

1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?