Skip to main content

Gestion de dépôts distants

Apprenez à travailler avec vos dépôts locaux sur votre ordinateur et avec des dépôts distants hébergés sur GitHub.

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

  1. Remplacez le répertoire de travail actuel par votre projet local.

  2. 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)
    
  3. 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
    
  4. 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

  1. Remplacez le répertoire de travail actuel par votre projet local.

  2. 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)
    
  3. 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
    
  4. 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