Ajout d’un dépôt distant
Pour ajouter un nouveau dépôt distant, utilisez la commande git remote add
sur le terminal, dans le répertoire dans lequel votre dépôt est stocké.
La commande git remote add
prend deux arguments :
- Un nom de dépôt distant, par exemple
origin
- Une URL distante, par exemple,
https://HOSTNAME/OWNER/REPOSITORY.git
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 « À propos des référentiels distants ».
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 « Renommer un dépôt distant » ci-dessous.
Modification de l’URL d’un dépôt distant
La commande git remote set-url
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 « À propos des référentiels distants ».
La commande git remote set-url
prend deux arguments :
-
Un nom de dépôt distant existant. Par exemple,
origin
ouupstream
sont deux choix courants. -
Nouvelle URL pour le dépôt distant. 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 d’URL de dépôts distants de SSH vers HTTPS
-
Ouvrez TerminalTerminalGit Bash.
-
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
git remote set-url
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 exécuterez les commandes git fetch
, git pull
ou git push
sur le dépôt distant, vous serez invité à fournir vos 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 une assistance relative aux informations d’identification pour que Git se rappelle vos nom d’utilisateur et personal access token chaque fois qu’il s’adresse à GitHub.
Basculer des URL de dépôts distants de HTTPS vers SSH
-
Ouvrez TerminalTerminalGit Bash.
-
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
.git remote set-url origin git@HOSTNAME:OWNER/REPOSITORY.git
-
Vérifiez que l’URL du dépôt distant 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 dépôt distant « [nom] »
Cette erreur signifie que le dépôt distant 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 dépôt distant.
Changement du nom d’un dépôt distant
Utilisez la commande git remote rename
pour renommer un dépôt distant existant.
La commande git remote rename
prend deux arguments :
- Un dépôt distant existant, par exemple,
origin
- Un nouveau nom pour le dépôt distant, par exemple,
destination
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 les dépôts distants qui existent avec la commande git remote -v
:
$ 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 : Le dépôt distant [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 la dépôt distant d’origine.
Suppression du nom d’un dépôt distant
Utilisez la commande git remote rm
pour supprimer une URL de dépôt distant de votre dépôt.
La commande git remote rm
prend un argument :
- Un nom de dépôt distant, par exemple
destination
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 : la commande git remote rm
ne supprime pas le dépôt 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 dépôt distant.
Pour aller plus loin
- « Utilisation de dépôts distants » dans le livre Pro Git