Post

Les bases #2

La base de Git, seconde partie

Les bases #2

Introduction

La principale caractéristique de git est qu’il s’agit d’un système distribué (distributed selon la documentation officielle) : c’est à dire qu’il permet à un ensemble de machines distantes de travailler sur le même objectif, le tout sans structure hiérarchisée.

Dans ce tutoriel, nous allons aborder les bases du travail en remote avec l’utilisation de branches distantes, sur des plateformes comme GitHub par exemple.

Cloner un dépôt distant

Un remote (ou dépôt distant) est une version d’un projet qui est stockée sur un serveur, le plus souvent chez un hébergeur spécialisé comme Github, GitLab etc. Le remote permet de partager le code à vos collaborateurs, de sauvegarder le code et même de travailler n’importe où.

Pour cloner (l’action de récupérer le contenu du dépôt) on utilise la commande clone, qui prends en argument l’URL du dépôt distant.

Commencez par cloner un dépôt distant, par exemple le dépôt de ce projet :

1
git clone https://github.com/Pallandos/GitSimple.git

Cela va tout simplement télécharger tous les fichiers du dépôt distant, mais surtout copier aussi tout l’historique de modification. Vous pouvez donc revenir à n’importe quelle version du remote, sans se connecter à internet, voir tout l’historique de modification etc.

Lancez la commande git log et vous verrez bien tout l’historique de modification!

Lorsque vous lancez la commande git log, tapez q pour quitter.

Ajouter un remote à un dépôt local

Admettons maintenant que vous êtes dans la situation inverse : vous avez initialisé un dépôt local avec init et vous souhaitez maintenant publier son contenu sur GitHub pour travailler avec vos collaborateurs. Il faut utiliser la commande remote add.

Placez vous dans le projet du tuto #1, et initialisez un dépôt distant (en remplaçant évidemment les champs username et repo-name) :

1
git remote add origin https://github.com/username/repo-name.git

Cette commande va ajouter un projet remote à la configuration du local.

J’ai donné l’exemple avec GitHub mais vous pouvez évidemment utiliser d’autres plateformes. Référez vous à la documentation propre des plateformes pour la création de l’URL.

Vous pouvez vérifier que votre remote a été ajouté avec l’option -v.

1
git remote -v

Cela devrait renvoyer 2 lignes :

1
2
origin	https://github.com/Pallandos/tests.git (fetch)
origin	https://github.com/Pallandos/tests.git (push)

Synchroniser son travail

On peut voir sur le résultat de la commande précédente deux mots : fetch et pull qui font référence aux deux actions à effectuer par rapport au remote : recevoir et envoyer.

Si vous utilisez un outil comme GitHub, les actions de cette partie requièrent probablement que vous vous connectez. Un tuto sera publié pour gérer ses connections.

Récupérer des modifications

Une fois que vous avez un remote, soit car vous l’avez créé soit car vous avez cloné, il faut pouvoir se synchroniser par rapport au distant. Pour récupérer les modifications il existe deux options : pull et fetch :

  • pull va récupérer les changements et les fusionner avec votre travail en local (cela va donc modifier vos fichiers)
  • fetch va juste récupérer sans toucher à votre local, c’est utile lorsque vous n’avez pas tout envoyé

Pour ce faire, les commandes sont simplement :

1
git pull origin main

ou

1
git fetch origin

Dans ces cas, origin désigne par défaut le dépôt distant tandis que main désigne le dépôt local. Pensez à l’adapter si vous les avez changés.

Envoyer des modifications

L’opération inverse, qui consiste à envoyer sa version sur le serveur distant s’effectue avec la commande push. Cette commande ca récupérer tous les commit que vous avez réalisés avec la commande commit (depuis la dernière fois que vous avez push sur le remote) et les envoyer.

Pour cela, il faut donc avoir commité (voir le tuto précédent), puis juste effectuer la commande :

1
git push origin main

Cette commande va envoyer les commits de votre branche local main sur le remote origin.

Bilan

Dans ce tuto, vous avez appris à paramétrer le remote pour travailler en collaboration, et les actions de base pour synchroniser son travail.

Prochaine étape

Dans le fin de ce tutoriel nous avons abordé le concept de branch, un autre concept clé de git qui sera abordé dans le prochain tutoriel.

This post is licensed under CC BY 4.0 by the author.

Trending Tags