Table des matières

, ,

Les dépôts distants

Git est un gestionnaire de révision distribué. Il intègre donc des mécanismes de synchronisation entre dépots. Un même projet peut être lié à plusieurs dépôts distants, ce sont d'autre version du même projet disponible sur le réseau/Internet. Collaborer avec d'autre personne consiste à gérer ces dépôts distants.

Lister les dépôts

Lorsqu'on clone un projet git via la commande git clone, git garde une référence vers celui-ci c'est la référence origin.

$ git clone ssh://user@host:port/path/to/git-project.git
Par convention on désigne par origin un dépôt vers lequel on publie ses propres changements. On utilise upstream pour désigner le dépôt de référence du projet.

On utilise la commande git remote pour afficher les références vers les dépôts distants, l'option -v permet d'afficher l'URL:

$ git remote -v

Ajouter un dépôt

$ git remote add ref url

Récupérer

Pour récupérer l'ensemble des modifications apparues sur le dépôt distant sans modifier l'espace de travail, on utilise la commande git fetch:

$ git fetch origin

Pour récupérer également les tags associés utiliser l'argument --tag Toutes les nouvelles données et les branches du dépôt distant sont récupérées dans le dépot git local mais les modifications ne sont pas intégrées aux branches locales.

$ git fetch --tags
git fetch ne fait aucune fusion des branches origines sur les branches locales. C'est le développeur qui fait le choix de la façon dont il intègre les modifications distantes à sa copie locale(fusion, cherry-pick ou pas).

Pour fusionner automatiquement les modifications apportées sur les branches distantes, elles doivent être configurées comme suivies, on utilisera alors la commande git pull. git pull (tirer) permet de récupérer et d’intégrer automatiquement (si c'est possible) les modifications apportées à la branche distante sur la branche locale. Pour avoir le détail des branches suivies, et donc des actions de git pull utiliser la commande git remote show:

$ git remote show origin
Lorsqu'on clone un dépôt, la branche locale master est automatiquement configurée en suivi de la branche distante master si elle existe.

Pousser le travail local

Une fois les modifications apportées sur le dépôt local, après commits, on pousse sur le dépôt distant les nouvelles révisions pour les partager:

$ git push origin master
Avant de publier les changements avec push, faire toujours un pull afin de s' assurer que le dépôt local est à jour et garanti que l'ajout des révisions sur le dépôt distant ne génère pas de problème.

Renommer retirer

Pour renommer une référence sur un dépôt distant, utiliser git remote rename:

$ git remote rename origin distant

On peut également supprimer l'un des dépôts distant s'il n'est plus utilisé:

$ git remote rm test

Références