Aller au contenu

git remote

Définition

La commande git remote est conçue pour créer, afficher et supprimer des connexions vers d'autres dépôts. Les connexions distantes agissent comme des signets vers d'autres dépôts, fournissant des noms pratiques pour référencer des URL qui pourraient autrement être fastidieuses.

Le diagramme ci-dessous montre deux connexions distantes : une vers un dépôt central et une vers le dépôt d'un autre développeur. Vous pouvez partager le nom du dépôt distant avec un autre développeur, lui permettant de l'utiliser comme raccourci dans d'autres commandes Git. En conséquence, vous n'aurez pas à référencer les connexions par leurs URL complètes.

git remote

Création et modification des configurations git remote

La commande git remote est également utilisée pour modifier le fichier ./.git/config du dépôt. Vous pouvez le faire en exécutant les commandes ci-dessous :

  1. Utilisez la commande ci-dessous pour ajouter une nouvelle connexion distante à un dépôt distant. Vous pouvez ensuite utiliser <name> comme raccourci approprié pour <url> dans d'autres commandes Git.

git remote add

bash
git remote add <name> <url>
  1. Exécutez la commande suivante pour supprimer la connexion au dépôt distant, nommé <name>.

git remote rm

bash
git remote rm <name>
  1. Exécutez la commande ci-dessous pour renommer une connexion distante :

git remote rename

bash
git remote rename <old> <new>
  1. Utilisez la commande ci-dessous pour modifier l'URL d'un dépôt distant existant :

git remote set-url

bash
git remote set-url <name> <new-url>

Vous pouvez obtenir le même résultat en modifiant directement le fichier ./.git/config avec un éditeur de texte.

Le dépôt distant origin

L'exécution de la commande git clone crée automatiquement une connexion distante nommée origin, qui pointe vers le dépôt cloné. Une copie locale facilite le tirage des modifications en amont ou la publication des commits locaux. C'est pourquoi le dépôt central de nombreux projets est nommé origin.

URL des dépôts

Il existe de nombreuses façons de référencer un dépôt distant, mais les deux plus simples sont considérées comme étant via les protocoles HTTPS et SSH. Les URL HTTPS sont couramment utilisées pour un accès en lecture seule ou lorsqu'elles sont associées à des assistants d'identification ou à des jetons d'accès personnel pour l'authentification.

Format de l'URL HTTPS

bash
http://host/path/to/repo.git

Utilisez SSH pour un accès en lecture et en écriture. Vous avez besoin d'un compte SSH valide. Notez que les exigences d'accès dépendent des autorisations du dépôt ; les dépôts publics permettent un accès non authentifié, tandis que les privés nécessitent une authentification. Les solutions d'hébergement tierces sécurisées modernes, par exemple Bitbucket.com, peuvent fournir de telles URL :

Format de l'URL SSH

bash
ssh://user@host/path/to/repo.git

Vous pouvez également utiliser la syntaxe de type SCP largement prise en charge :

bash
user@host:path/to/repo.git

Sous-commandes de git remote

La commande git remote possède ses propres sous-commandes. Nous allons les examiner ci-dessous.

git remote add <name> <url>

Ajoute un enregistrement au fichier ./.git/config pour un dépôt distant nommé <name> pointant vers <url>. Accepte l'option -f, qui exécute immédiatement git fetch <name> après la création de l'enregistrement distant. Une autre option acceptée par cette sous-commande est --tags, qui exécutera immédiatement git fetch <name> et importera tous les tags du dépôt distant.

bash
git remote add <name> <url>

git remote rename <old> <new>

Met à jour ./.git/config pour renommer <old> en <new>. Tous les paramètres de configuration et les branches du dépôt distant sont mis à jour en conséquence.

bash
git remote rename <old> <new>

git remote remove ou rm

Supprime le dépôt distant nommé <name> de ./.git/config. Tous les paramètres de configuration et les branches associés sont supprimés.

bash
git remote rm <name>

git remote set-url <name> <new-url>

Modifie l'URL d'un enregistrement distant existant dans ./.git/config.

bash
git remote set-url <name> <new-url>

git remote get-url <name>

Affiche les URL pour un enregistrement distant. Cette sous-commande accepte les options --push et --all.

bash
git remote get-url <name>

git remote show <name>

Affiche des informations détaillées sur le dépôt distant <name>.

bash
git remote show <name>

git remote prune <name>

Supprime les branches remote-tracking pour <name> qui n'existent plus sur le dépôt distant. Cette sous-commande accepte l'option --dry-run qui liste les branches qui ont été définies pour être purgées, mais ne les supprime pas réellement.

bash
git remote prune <name>

Exemples de git remote

La connexion aux dépôts d'autres développeurs permet la collaboration en dehors du dépôt central. Par exemple, si un collègue maintient un dépôt accessible publiquement à l'adresse dev.example.com/tom.git, vous pouvez l'ajouter comme suit :

git remote add <name> <url>

bash
git remote add tom http://dev.example.com/tom.git

Affichage de vos dépôts distants

Par défaut, git remote liste toutes les connexions distantes configurées. La sortie affiche une ligne pour chaque dépôt signeté.

la commande git remote

bash
git remote
origin
upstream
other_repo

Vous pouvez invoquer la commande git remote avec l'option -v qui listera les noms des dépôts signetés avec l'URL du dépôt correspondant.

git remote -v

bash
git remote -v
origin      [email protected]:origin_user/reponame.git (fetch)
origin      [email protected]:origin_user/reponame.git (push)
upstream    https://example.com/upstream_user/reponame.git (fetch)
upstream    https://example.com/upstream_user/reponame.git (push)
other_repo  https://example.com/other_repo/reponame.git (fetch)
other_repo  https://example.com/other_repo/reponame.git (push)

Ajout de dépôts distants

L'exécution de git remote add crée un nouvel enregistrement de connexion dans ./.git/config. Le <name> sert alors de raccourci pour <url> dans d'autres commandes Git.

exemple git remote add

bash
git remote add fake_test https://example.com/upstream_user/reponame.git

Inspection d'un dépôt distant

L'ajout de la sous-commande show fournit une sortie de configuration détaillée, y compris les branches connectées et les points de terminaison fetch/push.

git remote show

bash
git remote show upstream
* remote upstream
Fetch URL: https://example.com/upstream_user/reponame.git
Push URL: https://example.com/upstream_user/reponame.git
HEAD branch: master
Remote branches:
master tracked
 simd-deprecated tracked
 tutorial tracked
Local ref configured for 'git push':
 master pushes to master (fast-forwardable)

Récupération et tirage depuis les dépôts Git

Une fois un dépôt distant configuré, son nom peut être utilisé comme argument pour d'autres commandes Git afin d'établir une communication avec le dépôt distant. Vous pouvez utiliser les commandes git fetch et git pull pour lire à partir d'un dépôt distant.

Poussée vers les dépôts Git

La commande git push écrit dans un dépôt distant.

git push <remote-name> <branch-name>

bash
git push <remote-name> <branch-name>

Pratique

Quelles sont les affirmations correctes concernant la commande `git remote` telles que décrites dans le tutoriel Git de W3Docs ?

Trouvez-vous cela utile?

Aperçu dual-run — comparez avec les routes Symfony en production.