Travailler avec des dépôts Git distants

Jusqu’à présent, nous avons utilisé Git pour mettre en place un système de gestion de version local. En pratique, vous allez souvent être amené à travailler à plusieurs sur un même projet.

Pour collaborer sur un projet et mettre en place un système de gestion de version, vous allez devoir utiliser des dépôts distants c’est-à-dire des dépôts hébergés sur serveur distant (serveurs accessibles via Internet ou via votre réseau d’entreprise).

La gestion de dépôts distants est plus complexe que la gestion d’un dépôt local puisqu’il va falloir gérer les permissions des différents utilisateurs, définir quelles modifications doivent être adoptées ou pas, etc.

Dans le cas où on travaille à plusieurs sur un dépôt distant, nous n’allons jamais directement modifier le projet distant. Nous allons plutôt cloner le dépôt distant localement (sur notre ordinateur donc), effectuer nos modifications puis les pousser vers le dépôt distant. Ces modifications pourront ensuite être acceptées ou pas.

 

Cloner, afficher et renommer un dépôt distant

Pour cloner un dépôt distant, nous allons pouvoir utiliser la commande git clone. Une fois que vous disposez d’un dépôt distant cloné localement, vous pouvez utiliser la commande git remote pour afficher la liste des serveurs distants des dépôts.

Le nom donné par défaut par Git à un serveur à partir duquel on a effectué un clonage est origin. On peut également utiliser git remote -v pour afficher les URLs stockées.

Pour définir un nom personnalisé pour un dépôt distant, on peut utiliser la commande git remote add suivi du nom choisi suivi de l’URL du dépôt. Pour renommer ensuite notre référence, on pourra utiliser git remote rename [ancien-nom] [nouveau-nom].

 

Récupérer des données depuis un dépôt distant

La commande git fetch [nom-distant] va nous permettre de récupérer toutes les données d’un dépôt distant qu’on ne possède pas déjà. Cela permet de récupérer les ajouts du projet distant et d’avoir une version à jour du projet.

Notez que fetch tire les données dans votre dépôt local mais sous sa propre branche ce qui signifie que ces données ne sont pas fusionnées avec vos autres travaux et que votre copie de travail n’est pas modifiée. Il faudra donc fusionner explicitement les données tirées par fetch par la suite.

Dans le cas où on a créé une branche sur notre projet pour suivre les avancées d’une branche distante, on peut également utiliser git pull qui va récupérer les données d’une branche distante et les fusionner automatiquement dans notre branche locale.

 

Pousser des modifications vers un dépôt distant

Une fois qu’on a terminé nos modifications localement, on va les pousser vers le dépôt distant. On utilise pour cela la commande git push [nom-distant] [nom-de-branche]. Si on souhaite par exemple pousser les modifications faites sur notre branche master vers le serveur origin, on écrira git push origin master.

Notez que cette commande ne fonctionnera que si vous avez cloné depuis un serveur sur lequel vous avez des droits d’accès en écriture et si personne n’a poussé dans l’intervalle. Cela évite des conflits et d’effacer certaines modifications dans le cas où deux personnes auraient modifié différemment les mêmes fichiers par exemple.

 

Obtenir des informations sur un dépôt distant

Pour obtenir des informations sur un dépôt distant, on peut utiliser la commande git remote show [nom-du-depot].

Cette commande peut notamment fournir la liste des URL pour le dépôt distant ainsi que la liste des branches distantes suivies, les branches poussées automatiquement avec une commande git push, les branches qui seront fusionnées avec un git pull, etc.

 

Retirer un dépôt distant

Pour retirer un dépôt distant, on utilisera la commande git remote rm [nom-du-depot].

Laisser un commentaire

© Pierre Giraud - Toute reproduction interdite