Contribution à plusieurs comptes à l’aide de HTTPS et de personal access tokens
Si vous souhaitez utiliser le protocole HTTPS pour les deux comptes, vous pouvez utiliser différents éléments personal access token pour chaque compte en configurant Git de manière à stocker des informations d’identification différentes pour chaque dépôt.
-
Ouvrir le terminal.
-
Pour confirmer votre utilisation d’un gestionnaire d’informations d’identification, entrez la commande suivante et notez la sortie.
Shell git config --get credential.helper
git config --get credential.helper
-
Si la sortie confirme que vous utilisez un gestionnaire d’informations d’identification, désactivez les informations d’identification stockées pour lui.
- Si la sortie n’inclut pas le nom d’un gestionnaire d’informations d’identification, aucun gestionnaire d’informations d’identification n’est configuré et vous pouvez passer à l’étape suivante.
-
Si la sortie est
osxkeychain
, vous utilisez un trousseau macOS. Pour effacer les identifiants, vous pouvez utiliser l’assistance d’identifiant sur la ligne de commande :$ git credential-osxkeychain erase host=github.com protocol=https > [Press Return] >
-
Si la production est
manager
(oumanager-core
dans les versions précédentes), vous utilisez le Gestionnaire d’informations d’identification Git. Pour effacer les informations d’identification, exécutez la commande suivante.Shell echo "protocol=https\nhost=github.com" | git credential-manager erase
echo "protocol=https\nhost=github.com" | git credential-manager erase
-
-
Pour configurer Git de sorte à mettre en cache les informations d’identification pour l’URL distante complète de chaque dépôt auquel vous accédez sur GitHub, entrez la commande suivante.
Shell git config --global credential.https://github.com.useHttpPath true
git config --global credential.https://github.com.useHttpPath true
-
Pour chacun de vos comptes, créez un personal access token (classic) dédié avec une étendue
repo
. Ou bien, pour chacun de vos comptes et pour chaque organisation dont vous êtes membre, créez un fine-grained personal access token qui peut accéder aux référentiels souhaités et qui dispose d'autorisations de lecture et d'écriture sur le contenu des référentiels. Pour plus d’informations, consultez « Gestion de vos jetons d'accès personnels ». -
La première fois que vous utilisez Git pour cloner un dépôt ou accéder à des données dans un dépôt que vous avez déjà cloné, Git demande des informations d’identification. Fournissez les personal access token pour le compte ayant accès au référentiel.
Git va mettre en cache le personal access token basé sur l’URL distante complète du dépôt et vous pourrez alors accéder aux données et en écrire sur GitHub.com à l’aide du compte approprié.
-
Ouvrez l’interpréteur de commandes Git.
-
Pour confirmer votre utilisation d’un gestionnaire d’informations d’identification, entrez la commande suivante et notez la sortie.
Shell git config --get credential.helper
git config --get credential.helper
-
Si la sortie confirme que vous utilisez un gestionnaire d’informations d’identification, désactivez les informations d’identification stockées pour lui.
-
Si la sortie n’inclut pas le nom d’un gestionnaire d’informations d’identification, aucun gestionnaire d’informations d’identification n’est configuré et vous pouvez passer à l’étape suivante.
-
Si la production est
manager
(oumanager-core
dans les versions précédentes), vous utilisez le Gestionnaire d’informations d’identification Git. Pour effacer les informations d’identification, exécutez la commande suivante.Shell echo "protocol=https`nhost=github.com" | git credential-manager erase
echo "protocol=https`nhost=github.com" | git credential-manager erase
-
Si la sortie est
wincred
, vous utilisez le Gestionnaire d’informations d’identification Windows. Pour effacer les informations d’identification, entrez la commande suivante.Shell cmdkey /delete:LegacyGeneric:target=git:https://github.com
cmdkey /delete:LegacyGeneric:target=git:https://github.com
-
-
Pour configurer Git de sorte à mettre en cache les informations d’identification pour l’URL distante complète de chaque dépôt auquel vous accédez sur GitHub, entrez la commande suivante.
Shell git config --global credential.https://github.com.useHttpPath true
git config --global credential.https://github.com.useHttpPath true
-
Pour chacun de vos comptes, créez un personal access token (classic) dédié avec une étendue
repo
. Ou bien, pour chacun de vos comptes et pour chaque organisation dont vous êtes membre, créez un fine-grained personal access token qui peut accéder aux référentiels souhaités et qui dispose d'autorisations de lecture et d'écriture sur le contenu des référentiels. Pour plus d’informations, consultez « Gestion de vos jetons d'accès personnels ». -
La première fois que vous utilisez Git pour cloner un dépôt ou accéder à des données dans un dépôt que vous avez déjà cloné, Git demande des informations d’identification. Fournissez les personal access token pour le compte ayant accès au référentiel.
Git va mettre en cache le personal access token basé sur l’URL distante complète du dépôt et vous pourrez alors accéder aux données et en écrire sur GitHub.com à l’aide du compte approprié.
-
Ouvrir le terminal.
-
Pour confirmer votre utilisation d’un gestionnaire d’informations d’identification, entrez la commande suivante et notez la sortie.
Shell git config --get credential.helper
git config --get credential.helper
-
Si la sortie confirme que vous utilisez un gestionnaire d’informations d’identification, désactivez les informations d’identification stockées pour lui.
-
Si la sortie n’inclut pas le nom d’un gestionnaire d’informations d’identification, aucun gestionnaire d’informations d’identification n’est configuré et vous pouvez passer à l’étape suivante.
-
Si la production est
manager
(oumanager-core
dans les versions précédentes), vous utilisez le Gestionnaire d’informations d’identification Git. Pour effacer les informations d’identification, exécutez la commande suivante.Shell echo "protocol=https\nhost=github.com" | git credential-manager erase
echo "protocol=https\nhost=github.com" | git credential-manager erase
-
Pour configurer Git de sorte à mettre en cache les informations d’identification pour l’URL distante complète de chaque dépôt auquel vous accédez sur GitHub, entrez la commande suivante.
Shell git config --global credential.https://github.com.useHttpPath true
git config --global credential.https://github.com.useHttpPath true
-
Pour chacun de vos comptes, créez un personal access token (classic) dédié avec une étendue
repo
. Ou bien, pour chacun de vos comptes et pour chaque organisation dont vous êtes membre, créez un fine-grained personal access token qui peut accéder aux référentiels souhaités et qui dispose d'autorisations de lecture et d'écriture sur le contenu des référentiels. Pour plus d’informations, consultez « Gestion de vos jetons d'accès personnels ». -
La première fois que vous utilisez Git pour cloner un dépôt ou accéder à des données dans un dépôt que vous avez déjà cloné, Git demande des informations d’identification. Fournissez les personal access token pour le compte ayant accès au référentiel.
Git va mettre en cache le personal access token basé sur l’URL distante complète du dépôt et vous pourrez alors accéder aux données et en écrire sur GitHub.com à l’aide du compte approprié.
Contribution à plusieurs comptes à l’aide du protocole SSH et de GIT_SSH_COMMAND
Si vous souhaitez utiliser le protocole SSH pour les deux comptes, vous pouvez utiliser différentes clés SSH pour chaque compte. Pour plus d’informations sur l’utilisation de SSH, consultez « Connexion à GitHub à l’aide de SSH ».
Si vous souhaitez utiliser une clé SSH différente pour chaque dépôt que vous clonez sur votre station de travail, vous devez écrire une fonction wrapper shell pour les opérations Git. La fonction doit exécuter les étapes suivantes.
- Déterminez le nom complet du dépôt avec son propriétaire, à l’aide d’une commande comme
git config --get remote.origin.url
. - Choisissez la clé SSH appropriée pour l’authentification.
- Modifiez
GIT_SSH_COMMAND
en conséquence. Pour plus d’informations surGIT_SSH_COMMAND
, consultez « Variables d’environnement » dans la documentation Git.
Par exemple, la commande suivante définit la variable d’environnement GIT_SSH_COMMAND
pour spécifier une commande SSH qui utilise le fichier de clé privée situé dans PATH/TO/KEY/FILE pour l’authentification afin de cloner le dépôt nommé OWNER/REPOSITORY sur GitHub.com.
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