SVN utilise un seul référentiel centralisé pour servir de hub de communication pour les développeurs, et la collaboration s’effectue en passant des jeux de modifications entre les copies de travail des développeurs et le référentiel central. Ceci est différent du modèle de collaboration distribuée de Git, qui donne à chaque développeur sa propre copie du référentiel, avec son propre historique local et sa propre structure de branche. Les utilisateurs doivent généralement partager une série de commits plutôt qu’un seul ensemble de modifications., Au lieu de valider un ensemble de modifications d’une copie de travail vers le référentiel central, Git vous permet de partager des branches entières entre les référentiels.

La commandegit remote est un élément du système plus large qui est responsable de la synchronisation des modifications. Les dossiers enregistrés par le biais de la balise git remote commande sont utilisées en conjonction avec la balise git fetch, git push et git pull commandes. Ces commandes ont toutes leurs propres responsabilités de synchronisation qui peuvent être explorées sur les liens correspondants.,

Git remote

La commandegit remote vous permet de créer, d’afficher et de supprimer des connexions vers d’autres référentiels. Les connexions distantes ressemblent davantage à des signets qu’à des liens directs vers d’autres référentiels. Au lieu de fournir un accès en temps réel à un autre référentiel, ils servent de noms pratiques qui peuvent être utilisés pour référencer une URL pas si pratique.

Par exemple, le schéma suivant montre deux connexions distantes de votre dépôt vers le dépôt central et le dépôt d’un autre développeur., Au lieu de les référencer par leurs URL complètes, vous pouvez passer les raccourcis origin et john à d’autres commandes Git.

Git remote use overview

La commandegit remote est essentiellement une interface pour gérer une liste d’entrées distantes stockées dans le fichier./.git/config du référentiel. Les commandes suivantes sont utilisées pour afficher l’état actuel de la liste des télécommandes.

Affichage des configurations distantes git

git remote

Répertoriez les connexions distantes que vous avez à d’autres dépôts.,

git remote -v

de Même que la commande ci-dessus, mais inclure l’URL de chaque connexion.

Créer et modifier des configurations distantes git

La commandegit remote est également une méthode pratique ou »auxiliaire »pour modifier le fichier./.git/config d’un dépôt. Les commandes présentées ci-dessous vous permettent de gérer les connexions avec d’autres référentiels. Les commandes suivantes modifient le fichier /.git/config du dépôt., Le résultat des commandes suivantes peut également être obtenu en éditant directement le fichier ./.git/config avec un éditeur de texte.

git remote add <name> <url>

Créer une nouvelle connexion à un dépôt distant. Après avoir ajouté une télécommande, vous pourrez l’utiliser comme raccourci pratique dans d’autres commandes Git.

git remote rm <name>

Supprimer le lien vers le dépôt distant appelé .

git remote rename <old-name> <new-name>

Renommer une connexion à distance à partir d’ .,

Git remote discussion

Git est conçu pour donner à chaque développeur un environnement de développement entièrement isolé. Cela signifie que les informations ne sont pas automatiquement transmises entre les référentiels. Au lieu de cela, les développeurs doivent extraire manuellement les commits en amont dans leur référentiel local ou pousser manuellement leurs commits locaux vers le référentiel central. La commande git remote est vraiment un moyen plus facile de transmettre des URL à ces commandes de « partage ».,

La télécommande origin

Lorsque vous clonez un dépôt avecgit clone, il crée automatiquement une connexion distante appelée origin pointant vers le dépôt cloné. Ceci est utile pour les développeurs qui créent une copie locale d’un référentiel central, car il fournit un moyen facile d’extraire des modifications en amont ou de publier des commits locaux. Ce comportement est également la raison pour laquelle la plupart des projets basés sur Git appellent leur origine de référentiel central.

URL du référentiel

Git prend en charge de nombreuses façons de référencer un référentiel distant., Deux des moyens les plus simples d’accéder à un dépôt distant sont via les protocoles HTTP et SSH. HTTP est un moyen simple d’autoriser un accès anonyme en lecture seule à un référentiel. Par exemple:

But, it’s generally not possible to push commits to an HTTP address (you wouldn’t want to allow anonymous pushes anyways). For read-write access, you should use SSH instead:

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

Vous aurez besoin d’un compte SSH valide sur la machine hôte, mais à part cela, Git prend en charge l’accès authentifié via SSH prêt à l’emploi. Solutions d’hébergement 3ème partie sécurisées modernes comme Bitbucket.com fournira ces URL pour vous.

Git commandes à distance

Le git remote commande est l’une des nombreuses commandes Git qui prend supplémentaire ajouté ‘sous-commandes’., Vous trouverez ci-dessous un examen des sous-commandes git remote couramment utilisées.

ADD <NAME> <URL>

Ajoute un enregistrement ./.git/config distant nommé à l’adresse url du référentiel .

Accepte un -f option, qui git fetch immédiatement après l’enregistrement à distance est créée.

Accepte une option--tags, qui vagit fetch immédiatement et importer chaque balise du référentiel distant.,

RENAME <OLD> <NEW>

mise à jour ./.git/config renommer le dossier . Toutes les branches de suivi à distance et les paramètres de configuration de la télécommande sont mis à jour.

REMOVE or RM <NAME>

Modifie ./.git/config et supprime la distance nommé . Toutes les branches de suivi à distance et les paramètres de configuration de la télécommande sont supprimés.

GET-URL <NAME>

les Sorties de l’Url pour un enregistrement à distance.

Accepte --push, les URL push sont interrogées plutôt que les URL de récupération.,

Avec des --all, toutes les Url de la télécommande seront répertoriés.

SHOW <NAME>

Fournit des informations de haut niveau sur la télécommande .

PRUNE <NAME>

Supprime toutes les branches locales de qui ne sont pas présents sur le dépôt distant.

Accepte une option--dry-run qui répertoriera les branches à tailler, mais ne les élaguera pas réellement.

Git remote examples

En plus d’origin, il est souvent pratique d’avoir une connexion aux dépôts de vos coéquipiers., Par exemple, si votre collègue, John, a maintenu un dépôt accessible au public sur dev.example.com/john.git, vous pouvez ajouter une connexion comme suit:

git remote add john http://dev.example.com/john.git

Avoir ce type d’accès aux dépôts individuels des développeurs permet de collaborer en dehors du dépôt central. Cela peut être très utile pour les petites équipes travaillant sur un grand projet.

Affichage de vos télécommandes

Par défaut, la commandegit remote listera les connexions distantes précédemment stockées vers d’autres référentiels., Cela produira une sortie de ligne unique qui répertorie les noms du nom « signet » des dépôts distants.

$ git remote
origin
upstream
other_users_repo

L’appel degit remote avec l’option-v affichera la liste des noms de dépôts marqués d’un signet et, en outre, l’URL de dépôt correspondante. L’option-v signifie « verbeux ». Voici un exemple de sortie de verbose git remote sortie.

Ajout de dépôts distants

La commandegit remote add créera un nouvel enregistrement de connexion à un dépôt distant., Après avoir ajouté une télécommande, vous pourrez l’utiliser comme raccourci pratique dans d’autres commandes Git. Pour plus d’informations sur la syntaxe d’URL acceptée, consultez la section « URL du référentiel » ci-dessous. Cette commande va créer un nouvel enregistrement dans le référentiel ./.git/config. Un exemple de cette mise à jour de fichier de configuration suit:

Inspectant une télécommande

La sous-commande show peut être ajoutée à git remote pour donner une sortie détaillée sur la configuration d’une télécommande., Cette sortie contiendra une liste de branches associées à la télécommande et également les points de terminaison attachés pour la récupération et la poussée.

git remote show upstream
* remote upstream
Fetch URL: https://bitbucket.com/upstream_user/reponame.git
Push URL: https://bitbucket.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 extraction à partir des télécommandes Git

Une fois qu’un enregistrement distant a été configuré à l’aide de la commandegit remote, le nom distant peut être passé en argument à d’autres commandes Git pour communiquer avec le dépôt distant. Les deux git fetch et git pull peut être utilisé pour lire à partir d’un dépôt distant., Les deux commandes ont des opérations différentes qui sont expliquées plus en profondeur sur leurs liens respectifs.

Pousser vers Git remotes

La commandegit push est utilisée pour écrire dans un dépôt distant.

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

Cet exemple téléchargera l’état local de dans le référentiel distant spécifié par .

le Renommage et la Suppression des Télécommandes

git remote rename <old-name> <new-name>

La commande git remote renommer est auto-explicatif. Une fois exécutée, cette commande renommera une connexion distante de à ., De plus, cela modifiera le contenu de ./.git/config pour renommer également l’enregistrement de la télécommande.

git remote rm <name>

La commande git remote rm supprime le lien vers le dépôt distant spécifié par le paramètre. Pour démontrer, nous allons « annuler » l’addition à distance de notre dernier exemple. Si nous exécutons git remote rm remote_test, et ensuite examiner le contenu de la balise ./.git/config on peut voir que le enregistrer n’est plus là.