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à.