Ajout d’un dépôt distant
Pour ajouter un nouveau dépôt distant, utilisez la commande sur le terminal, dans le répertoire dans lequel votre dépôt est stocké.
La commande prend deux arguments :
- Un nom distant, par exemple
- Une URL distante, par exemple,
Par exemple :
$ git remote add origin https://HOSTNAME/OWNER/REPOSITORY.git
# Set a new remote
$ git remote -v
# Verify new remote
> origin https://HOSTNAME/OWNER/REPOSITORY.git (fetch)
> origin https://HOSTNAME/OWNER/REPOSITORY.git (push)
Pour plus d’informations sur l’URL à utiliser, consultez AUTOTITLE.
Résolution des problèmes : l’origine distante existe déjà
Cette erreur signifie que vous avez tenté d’ajouter un dépôt distant portant un nom existant dans votre dépôt local.
$ git remote add origin https://HOSTNAME/octocat/Spoon-Knife.git
> fatal: remote origin already exists.
Pour corriger ce problème, vous pouvez :
- Utiliser un nom différent pour le nouveau dépôt distant.
- Renommer le dépôt distant existant avant d’ajouter le nouveau. Pour plus d’informations, consultez Renommer un dépôt distant ci-dessous.
- Supprimer le dépôt distant existant avant d’ajouter le nouveau. Pour plus d’informations, consultez Supprimer un dépôt distant ci-dessous.
Modification de l’URL d’un dépôt distant
La commande modifie une URL de dépôt distant existant.
Conseil
Pour plus d’informations sur la différence entre les URL HTTPS et SSH, consultez AUTOTITLE.
La commande prend deux arguments :
-
Un nom de dépôt distant existant. Par exemple, HTML ou CSS sont deux choix courants.
-
Nouvelle URL pour le remote. Par exemple :
- Si vous effectuez une mise à jour pour utiliser HTTPS, votre URL pourrait ressembler à ceci :
https://HOSTNAME/OWNER/REPOSITORY.git- Si vous effectuez une mise à jour pour utiliser SSH, votre URL pourrait ressembler à ceci :
git@HOSTNAME:OWNER/REPOSITORY.git
Basculement des URLs distantes de SSH vers HTTPS
-
Remplacez le répertoire de travail actuel par votre projet local.
-
Répertoriez vos dépôts distants existants afin d’obtenir le nom du dépôt distant que vous souhaitez modifier.
$ git remote -v > origin git@HOSTNAME:OWNER/REPOSITORY.git (fetch) > origin git@HOSTNAME:OWNER/REPOSITORY.git (push) -
Modifiez l’URL de votre dépôt distant de SSH en HTTPS avec la commande.
git remote set-url origin https://HOSTNAME/OWNER/REPOSITORY.git -
Vérifiez que l’URL du dépôt distant a changé.
$ git remote -v # Verify new remote URL > origin https://HOSTNAME/OWNER/REPOSITORY.git (fetch) > origin https://HOSTNAME/OWNER/REPOSITORY.git (push)
La prochaine fois que vous git fetch, git pull ou git push au référentiel distant, vous êtes invité à fournir votre nom d'utilisateur et mot de passe GitHub. Lorsque Git vous invite à entrer votre mot de passe, entrez votre personal access token. Vous pouvez également utiliser une assistance d’informations d’identification comme Git Credential Manager. L’authentification par mot de passe pour Git a été supprimée en faveur de méthodes d’authentification plus sécurisées. Pour plus d’informations, consultez « Gestion de vos jetons d’accès personnels ».
Vous pouvez utiliser un assistant d'informations d'identification pour que Git mémorise votre nom d'utilisateur GitHub et personal access token chaque fois qu'il se connecte à GitHub.
Changement des URL de dépôts distants du protocole HTTPS au protocole SSH
-
Remplacez le répertoire de travail actuel par votre projet local.
-
Répertoriez vos dépôts distants existants afin d’obtenir le nom du dépôt distant que vous souhaitez modifier.
$ git remote -v > origin https://HOSTNAME/OWNER/REPOSITORY.git (fetch) > origin https://HOSTNAME/OWNER/REPOSITORY.git (push) -
Modifiez l’URL de votre dépôt distant de HTTPS en SSH avec la commande .
git remote set-url origin git@HOSTNAME:OWNER/REPOSITORY.git -
Vérifiez que l’URL de l’origine distante a changé.
$ git remote -v # Verify new remote URL > origin git@HOSTNAME:OWNER/REPOSITORY.git (fetch) > origin git@HOSTNAME:OWNER/REPOSITORY.git (push)
Résolution des problèmes : Aucun référentiel distant « [nom] »
Cette erreur signifie que la télécommande que vous avez tenté de modifier n’existe pas :
$ git remote set-url sofake https://HOSTNAME/octocat/Spoon-Knife
> fatal: No such remote 'sofake'
Vérifiez que vous avez correctement tapé le nom du remote.
Changement du nom d’un dépôt distant
Utilisez la commande pour renommer un remote existant.
La commande prend deux arguments :
- Un nom distant existant, par exemple,
- Un nouveau nom pour la télécommande, par exemple,
Exemple de changement de nom d’un dépôt distant
Ces exemples supposent que vous clonez à l’aide de HTTPS, ce qui est recommandé.
$ git remote -v
# View existing remotes
> origin https://HOSTNAME/OWNER/REPOSITORY.git (fetch)
> origin https://HOSTNAME/OWNER/REPOSITORY.git (push)
$ git remote rename origin destination
# Change remote name from 'origin' to 'destination'
$ git remote -v
# Verify remote's new name
> destination https://HOSTNAME/OWNER/REPOSITORY.git (fetch)
> destination https://HOSTNAME/OWNER/REPOSITORY.git (push)
Résolution des problèmes : Impossible de changer le nom de la section « remote.[ancien nom] » en « remote.[nouveau nom] »
Cette erreur signifie que l’ancien nom de dépôt distant que vous avez tapé n’existe pas.
Vous pouvez vérifier quels remotes existent actuellement avec la commande :
$ git remote -v
# View existing remotes
> origin https://HOSTNAME/OWNER/REPOSITORY.git (fetch)
> origin https://HOSTNAME/OWNER/REPOSITORY.git (push)
Résolution des problèmes : La télécommande [nouveau nom] existe déjà
Cette erreur signifie que le nom de dépôt distant que vous souhaitez utiliser existe déjà. Pour résoudre ce problème, utilisez un autre nom de dépôt distant ou renommez le dépôt distant d’origine.
Suppression d’un dépôt distant
Utilisez la commande pour supprimer une URL de dépôt distant de votre dépôt.
La commande prend un argument :
- Un nom distant, par exemple
La suppression de l’URL du dépôt distant de votre dépôt a seulement pour effet de dissocier dépôts local et distant. Elle ne supprime pas le dépôt distant.
Exemple de suppression d’un dépôt distant
Ces exemples supposent que vous clonez à l’aide de HTTPS, ce qui est recommandé.
$ git remote -v
# View current remotes
> origin https://HOSTNAME/OWNER/REPOSITORY.git (fetch)
> origin https://HOSTNAME/OWNER/REPOSITORY.git (push)
> destination https://HOSTNAME/FORKER/REPOSITORY.git (fetch)
> destination https://HOSTNAME/FORKER/REPOSITORY.git (push)
$ git remote rm destination
# Remove remote
$ git remote -v
# Verify it's gone
> origin https://HOSTNAME/OWNER/REPOSITORY.git (fetch)
> origin https://HOSTNAME/OWNER/REPOSITORY.git (push)
Remarque
ne supprime pas le référentiel distant du serveur. Elle supprime simplement le dépôt distant et ses références de votre dépôt local.
Résolution des problèmes : Impossible de supprimer la section config « remote.[nom] »
Cette erreur signifie que le dépôt distant que vous avez tenté de supprimer n’existe pas :
$ git remote rm sofake
> error: Could not remove config section 'remote.sofake'
Vérifiez que vous avez correctement tapé le nom du remote.
Pour aller plus loin
- « Utilisation de dépôts distants » dans le livre Pro Git