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.

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 :
- 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
git remote add <name> <url>- Exécutez la commande suivante pour supprimer la connexion au dépôt distant, nommé
<name>.
git remote rm
git remote rm <name>- Exécutez la commande ci-dessous pour renommer une connexion distante :
git remote rename
git remote rename <old> <new>- Utilisez la commande ci-dessous pour modifier l'URL d'un dépôt distant existant :
git remote set-url
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
http://host/path/to/repo.gitUtilisez 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
ssh://user@host/path/to/repo.gitVous pouvez également utiliser la syntaxe de type SCP largement prise en charge :
user@host:path/to/repo.gitSous-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.
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.
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.
git remote rm <name>git remote set-url <name> <new-url>
Modifie l'URL d'un enregistrement distant existant dans ./.git/config.
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.
git remote get-url <name>git remote show <name>
Affiche des informations détaillées sur le dépôt distant <name>.
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.
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>
git remote add tom http://dev.example.com/tom.gitAffichage 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
git remote
origin
upstream
other_repoVous 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
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
git remote add fake_test https://example.com/upstream_user/reponame.gitInspection 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
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>
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 ?