1. ホーム
  2. git

[解決済み] 同じパソコンで複数のGitHubアカウント?

2022-03-17 18:26:37

質問

自分のコンピュータから、実際のレポと git hub 上のレポの両方を操作しようとしています。

仕事用のアカウントを最初に設定し、すべて完璧に動作しています。

しかし、私のアカウントは、別のアカウント/電子メールで設定されている私のレポにプッシュすることができないようです。

仕事のキーを自分のアカウントにコピーしてみましたが、当然ながらキーは1つのアカウントにしか付けられないので、エラーになります。

両方のアカウントで、それぞれの GitHub 認証情報を使ってプッシュ/プルするにはどうすればよいですか?

解決方法は?

複数のSSH鍵ペアでSSHセットアップを行うだけです。

最初のリンクから関連する手順。

  1. SSH-keyを生成する ssh-keygen -t ed25519 -C "[email protected]" を選択し、プロンプトに従って名前を決定してください、例. id_ed25519_doe_company .
  2. からGitHubにSSH公開鍵をコピーします。 ~/.ssh/id_ed25519_doe_company.pub を作成し、sshにその鍵のことを伝えます。 ssh-add ~/.ssh/id_ed25519_doe_company .
  3. を作成します。 config のファイルを ~/.ssh を以下の内容で作成します。
    Host github-doe-company
      HostName github.com
      User git
      IdentityFile ~/.ssh/id_ed25519_doe_company
    
    
  4. リモートの追加 git remote add origin git@github-doe-company:username/repo.git を使って変更することもできます。 git remote set-url origin git@github-doe-company:username/repo.git

また、異なるペルソナを使用して複数のリポジトリを操作している場合、個々のリポジトリでユーザー設定を適宜オーバーライドする必要があります。

ユーザー名、メールアドレス、GitHubトークンの設定 - 個々のレポの設定を上書きする https://help.github.com/articles/setting-your-commit-email-address-in-git/

お役に立てれば幸いです。

リポジトリごとに異なるメールを必要とする方もいらっしゃるでしょうから、gitから 2.13 にあるグローバル設定ファイルを編集することで、ディレクトリ単位で電子メールを設定することができます。 ~/.gitconfig のような条件文を使用します。

[user]
    name = Pavan Kataria
    email = [email protected]

[includeIf "gitdir:~/work/"]
    path = ~/work/.gitconfig

そして、仕事専用の設定 ~/work/.gitconfig は次のようになります。

[user]
    email = [email protected]

コメントでお知らせいただいた@alexgさん、ありがとうございました。