Skip to main content

複数のアカウントの管理

1 つのワークステーションを使用して複数アカウントのプロジェクトにコントリビュートする場合は、Git 構成を変更してコントリビューション プロセスを簡略化できます。

Platform navigation

HTTPS と personal access token を使って複数のアカウントにコントリビュートする

または、両方のアカウントに HTTPS プロトコルを使う場合は、リポジトリごとに異なる資格情報を格納するように Git を構成することで、アカウントごとに異なる personal access token を使用できます。

  1. ターミナルを開きます。

  2. 資格情報マネージャーを使用していることを確認するには、次のコマンドを入力し、出力をメモします。

    Shell
    git config --get credential.helper
    
  3. 出力で資格情報マネージャーを使用していることが確認された場合は、資格情報マネージャーの保存された資格情報をクリアします。

  • 出力に資格情報マネージャーの名前が含まれていない場合は、資格情報マネージャーが構成されていないため、次の手順に進むことができます。
    • 出力が osxkeychain の場合、macOS キーチェーンを使用しています。 認証情報を消去するには、コマンド ラインで認証情報ヘルパーを使用します。

      $ git credential-osxkeychain erase
      host=github.com
      protocol=https
      > [Press Return]
      >
      
    • 出力が manager (前のバージョンでは manager-core) の場合は、Git Credential Manager を使用しています。 資格情報をクリアするには、次のコマンドを実行します。

      Shell
      echo "protocol=https\nhost=github.com" | git credential-manager erase
      
  1. GitHub でアクセスする各リポジトリの完全なリモート URL の資格情報をキャッシュするように Git を構成するには、次のコマンドを入力します。

    Shell
    git config --global credential.https://github.com.useHttpPath true
    
  2. アカウントごとに repo スコープを持つ専用の personal access token (classic) を作成します。 または、アカウントごと、自分がメンバーになっている organization ごとに、目的のリポジトリへのアクセスが可能で、リポジトリの内容に対する読み取りと書き込みのアクセス許可を持っている fine-grained personal access token を作成します。 詳しくは、「個人用アクセス トークンを管理する」をご覧ください。

  3. Git を使用してリポジトリをクローンしたり、既にクローンしたリポジトリ内のデータにアクセスしたりすると、Git によって資格情報が要求されます。 リポジトリに対してアクセス権を持つアカウントの personal access token を指定してください。

    Git を使い、リポジトリのフル リモート URL に基づいてpersonal access tokenをキャッシュします。こうすることで、正しいアカウントを使って、リポジトリ データにアクセスして GitHub.com に書き込むことができるようになります。

  1. Git Bash を開きます。

  2. 資格情報マネージャーを使用していることを確認するには、次のコマンドを入力し、出力をメモします。

    Shell
    git config --get credential.helper
    
  3. 出力で資格情報マネージャーを使用していることが確認された場合は、資格情報マネージャーの保存された資格情報をクリアします。

  • 出力に資格情報マネージャーの名前が含まれていない場合は、資格情報マネージャーが構成されていないため、次の手順に進むことができます。

  • 出力が manager (前のバージョンでは manager-core) の場合は、Git Credential Manager を使用しています。 資格情報をクリアするには、次のコマンドを実行します。

    Shell
    echo "protocol=https`nhost=github.com" | git credential-manager erase
    
    • 出力が wincred の場合は、Windows Credential Manager を使用しています。 資格情報をクリアするには、次のコマンドを入力します。

      Shell
      cmdkey /delete:LegacyGeneric:target=git:https://github.com
      
  1. GitHub でアクセスする各リポジトリの完全なリモート URL の資格情報をキャッシュするように Git を構成するには、次のコマンドを入力します。

    Shell
    git config --global credential.https://github.com.useHttpPath true
    
  2. アカウントごとに repo スコープを持つ専用の personal access token (classic) を作成します。 または、アカウントごと、自分がメンバーになっている organization ごとに、目的のリポジトリへのアクセスが可能で、リポジトリの内容に対する読み取りと書き込みのアクセス許可を持っている fine-grained personal access token を作成します。 詳しくは、「個人用アクセス トークンを管理する」をご覧ください。

  3. Git を使用してリポジトリをクローンしたり、既にクローンしたリポジトリ内のデータにアクセスしたりすると、Git によって資格情報が要求されます。 リポジトリに対してアクセス権を持つアカウントの personal access token を指定してください。

    Git を使い、リポジトリのフル リモート URL に基づいてpersonal access tokenをキャッシュします。こうすることで、正しいアカウントを使って、リポジトリ データにアクセスして GitHub.com に書き込むことができるようになります。

  1. ターミナルを開きます。

  2. 資格情報マネージャーを使用していることを確認するには、次のコマンドを入力し、出力をメモします。

    Shell
    git config --get credential.helper
    
  3. 出力で資格情報マネージャーを使用していることが確認された場合は、資格情報マネージャーの保存された資格情報をクリアします。

  • 出力に資格情報マネージャーの名前が含まれていない場合は、資格情報マネージャーが構成されていないため、次の手順に進むことができます。

  • 出力が manager (前のバージョンでは manager-core) の場合は、Git Credential Manager を使用しています。 資格情報をクリアするには、次のコマンドを実行します。

    Shell
    echo "protocol=https\nhost=github.com" | git credential-manager erase
    
  1. GitHub でアクセスする各リポジトリの完全なリモート URL の資格情報をキャッシュするように Git を構成するには、次のコマンドを入力します。

    Shell
    git config --global credential.https://github.com.useHttpPath true
    
  2. アカウントごとに repo スコープを持つ専用の personal access token (classic) を作成します。 または、アカウントごと、自分がメンバーになっている organization ごとに、目的のリポジトリへのアクセスが可能で、リポジトリの内容に対する読み取りと書き込みのアクセス許可を持っている fine-grained personal access token を作成します。 詳しくは、「個人用アクセス トークンを管理する」をご覧ください。

  3. Git を使用してリポジトリをクローンしたり、既にクローンしたリポジトリ内のデータにアクセスしたりすると、Git によって資格情報が要求されます。 リポジトリに対してアクセス権を持つアカウントの personal access token を指定してください。

    Git を使い、リポジトリのフル リモート URL に基づいてpersonal access tokenをキャッシュします。こうすることで、正しいアカウントを使って、リポジトリ データにアクセスして GitHub.com に書き込むことができるようになります。

SSH と GIT_SSH_COMMAND を使用する複数のアカウントへのコントリビューション

両方のアカウントに SSH プロトコルを使用する場合は、アカウントごとに異なる SSH キーを使用できます。 SSH の使用の詳細については、「SSH を使用した GitHub への接続」を参照してください。

ワークステーションにクローンする異なるリポジトリに別の SSH キーを使用するには、Git 操作用のシェル ラッパー関数を記述する必要があります。 この関数で以下の手順を行う必要があります。

  1. git config --get remote.origin.url などのコマンドを使用して、所有者を含むリポジトリのフル ネームを特定します。
  2. 認証用の正しい SSH キーを選びます。
  3. 適宜、GIT_SSH_COMMAND を変更します。 GIT_SSH_COMMAND について詳しくは、Git ドキュメントの「環境変数」を参照してください。

たとえば、次のコマンドでは、GitHub.com の OWNER/REPOSITORY という名前のリポジトリをクローンするための認証に、PATH/TO/KEY/FILE にある秘密キー ファイルを使う SSH コマンドを指定するため、GIT_SSH_COMMAND 環境変数を設定します。

Shell
GIT_SSH_COMMAND='ssh -i PATH/TO/KEY/FILE -o IdentitiesOnly=yes' git clone git@github.com:OWNER/REPOSITORY