HTTPS と personal access token を使って複数のアカウントにコントリビュートする
または、両方のアカウントに HTTPS プロトコルを使う場合は、リポジトリごとに異なる資格情報を格納するように Git を構成することで、アカウントごとに異なる personal access token を使用できます。
-
ターミナルを開きます。
-
資格情報マネージャーを使用していることを確認するには、次のコマンドを入力し、出力をメモします。
Shell git config --get credential.helper
git config --get credential.helper
-
出力で資格情報マネージャーを使用していることが確認された場合は、資格情報マネージャーの保存された資格情報をクリアします。
- 出力に資格情報マネージャーの名前が含まれていない場合は、資格情報マネージャーが構成されていないため、次の手順に進むことができます。
-
出力が
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
echo "protocol=https\nhost=github.com" | git credential-manager erase
-
-
GitHub でアクセスする各リポジトリの完全なリモート URL の資格情報をキャッシュするように Git を構成するには、次のコマンドを入力します。
Shell git config --global credential.https://github.com.useHttpPath true
git config --global credential.https://github.com.useHttpPath true
-
アカウントごとに
repo
スコープを持つ専用の personal access token (classic) を作成します。 または、アカウントごと、自分がメンバーになっている organization ごとに、目的のリポジトリへのアクセスが可能で、リポジトリの内容に対する読み取りと書き込みのアクセス許可を持っている fine-grained personal access token を作成します。 詳しくは、「個人用アクセス トークンを管理する」をご覧ください。 -
Git を使用してリポジトリをクローンしたり、既にクローンしたリポジトリ内のデータにアクセスしたりすると、Git によって資格情報が要求されます。 リポジトリに対してアクセス権を持つアカウントの personal access token を指定してください。
Git を使い、リポジトリのフル リモート URL に基づいてpersonal access tokenをキャッシュします。こうすることで、正しいアカウントを使って、リポジトリ データにアクセスして GitHub.com に書き込むことができるようになります。
-
Git Bash を開きます。
-
資格情報マネージャーを使用していることを確認するには、次のコマンドを入力し、出力をメモします。
Shell git config --get credential.helper
git config --get credential.helper
-
出力で資格情報マネージャーを使用していることが確認された場合は、資格情報マネージャーの保存された資格情報をクリアします。
-
出力に資格情報マネージャーの名前が含まれていない場合は、資格情報マネージャーが構成されていないため、次の手順に進むことができます。
-
出力が
manager
(前のバージョンではmanager-core
) の場合は、Git Credential Manager を使用しています。 資格情報をクリアするには、次のコマンドを実行します。Shell echo "protocol=https`nhost=github.com" | git credential-manager erase
echo "protocol=https`nhost=github.com" | git credential-manager erase
-
出力が
wincred
の場合は、Windows Credential Manager を使用しています。 資格情報をクリアするには、次のコマンドを入力します。Shell cmdkey /delete:LegacyGeneric:target=git:https://github.com
cmdkey /delete:LegacyGeneric:target=git:https://github.com
-
-
GitHub でアクセスする各リポジトリの完全なリモート URL の資格情報をキャッシュするように Git を構成するには、次のコマンドを入力します。
Shell git config --global credential.https://github.com.useHttpPath true
git config --global credential.https://github.com.useHttpPath true
-
アカウントごとに
repo
スコープを持つ専用の personal access token (classic) を作成します。 または、アカウントごと、自分がメンバーになっている organization ごとに、目的のリポジトリへのアクセスが可能で、リポジトリの内容に対する読み取りと書き込みのアクセス許可を持っている fine-grained personal access token を作成します。 詳しくは、「個人用アクセス トークンを管理する」をご覧ください。 -
Git を使用してリポジトリをクローンしたり、既にクローンしたリポジトリ内のデータにアクセスしたりすると、Git によって資格情報が要求されます。 リポジトリに対してアクセス権を持つアカウントの personal access token を指定してください。
Git を使い、リポジトリのフル リモート URL に基づいてpersonal access tokenをキャッシュします。こうすることで、正しいアカウントを使って、リポジトリ データにアクセスして GitHub.com に書き込むことができるようになります。
-
ターミナルを開きます。
-
資格情報マネージャーを使用していることを確認するには、次のコマンドを入力し、出力をメモします。
Shell git config --get credential.helper
git config --get credential.helper
-
出力で資格情報マネージャーを使用していることが確認された場合は、資格情報マネージャーの保存された資格情報をクリアします。
-
出力に資格情報マネージャーの名前が含まれていない場合は、資格情報マネージャーが構成されていないため、次の手順に進むことができます。
-
出力が
manager
(前のバージョンではmanager-core
) の場合は、Git Credential Manager を使用しています。 資格情報をクリアするには、次のコマンドを実行します。Shell echo "protocol=https\nhost=github.com" | git credential-manager erase
echo "protocol=https\nhost=github.com" | git credential-manager erase
-
GitHub でアクセスする各リポジトリの完全なリモート URL の資格情報をキャッシュするように Git を構成するには、次のコマンドを入力します。
Shell git config --global credential.https://github.com.useHttpPath true
git config --global credential.https://github.com.useHttpPath true
-
アカウントごとに
repo
スコープを持つ専用の personal access token (classic) を作成します。 または、アカウントごと、自分がメンバーになっている organization ごとに、目的のリポジトリへのアクセスが可能で、リポジトリの内容に対する読み取りと書き込みのアクセス許可を持っている fine-grained personal access token を作成します。 詳しくは、「個人用アクセス トークンを管理する」をご覧ください。 -
Git を使用してリポジトリをクローンしたり、既にクローンしたリポジトリ内のデータにアクセスしたりすると、Git によって資格情報が要求されます。 リポジトリに対してアクセス権を持つアカウントの personal access token を指定してください。
Git を使い、リポジトリのフル リモート URL に基づいてpersonal access tokenをキャッシュします。こうすることで、正しいアカウントを使って、リポジトリ データにアクセスして GitHub.com に書き込むことができるようになります。
SSH と GIT_SSH_COMMAND
を使用する複数のアカウントへのコントリビューション
両方のアカウントに SSH プロトコルを使用する場合は、アカウントごとに異なる SSH キーを使用できます。 SSH の使用の詳細については、「SSH を使用した GitHub への接続」を参照してください。
ワークステーションにクローンする異なるリポジトリに別の SSH キーを使用するには、Git 操作用のシェル ラッパー関数を記述する必要があります。 この関数で以下の手順を行う必要があります。
git config --get remote.origin.url
などのコマンドを使用して、所有者を含むリポジトリのフル ネームを特定します。- 認証用の正しい SSH キーを選びます。
- 適宜、
GIT_SSH_COMMAND
を変更します。GIT_SSH_COMMAND
について詳しくは、Git ドキュメントの「環境変数」を参照してください。
たとえば、次のコマンドでは、GitHub.com の OWNER/REPOSITORY という名前のリポジトリをクローンするための認証に、PATH/TO/KEY/FILE にある秘密キー ファイルを使う SSH コマンドを指定するため、GIT_SSH_COMMAND
環境変数を設定します。
GIT_SSH_COMMAND='ssh -i PATH/TO/KEY/FILE -o IdentitiesOnly=yes' git clone git@github.com:OWNER/REPOSITORY
GIT_SSH_COMMAND='ssh -i PATH/TO/KEY/FILE -o IdentitiesOnly=yes' git clone git@github.com:OWNER/REPOSITORY