Git

Git (se prononce [ˈɡɪt]) est un système de contrôle de version (VCS : version control system) décentralisé, gratuit et open source.

Conçu pour gérer tous les projets, des plus petits aux plus grands, avec rapidité et efficacité.

C’est l’outil indispensable pour faire du travail collaboratif sur des documents numériques :

  • facilité d’échange de fichiers
  • traçabilité des modifications
  • gestion des conflits (lorsque les mêmes lignes d’un même fichier ont été modifiées par deux collaborateurs)

 

Concepts

Les dépôts (repositories)

Ce sont des dossiers, cachés, contenant l’état de tous les fichiers du projet. Ils sont nommés .git(rappel, le point devant les noms de fichier/dossier sous linux signifie qu’ils sont cachés).

  • Le dépôt distant (remote repository) se trouve sur un serveur qui centralise le projet.
  • Les dépôts locaux (local repository) se trouvent sur les ordinateurs de travail des membres du projet.

Les révisions (commits)

A chaque fois qu’un utilisateur « commet » un changement sur les fichiers du projet (modification, ajout, suppression, …) cette modification est enregistrée dans une révision (commit).

Remarque : git utilise un système de stockage très efficace qui permet de n’enregistrer que les modifications des fichiers et pas les fichiers entiers, ce qui économise considérablement l’espace de stockage sur le serveur.

ATTENTION : cette particularité le rend nettement plus efficace sur des fichiers texte que sur des fichiers binaires !

 

Copie de travail (workspace ou working copy)

Il s’agit du dossier contenant les fichiers sur lesquels travaille l’utilisateur.

Leur état peut être différent de la dernière révision de l’historique, car d’autres membres du projet peuvent avoir publié des modifications …

 

L’index

L’index est un espace temporaire contenant les modifications prêtes à être « commitées ».

 

Les principales opérations git

Plus de détails sur la CheatSheet

 

Pour en savoir plus : https://perso.liris.cnrs.fr/pierre-antoine.champin/enseignement/intro-git/

Quelques commandes Git

Git dispose notamment des commandes suivantes :

  • git init​ crée un nouveau dépôt ;
  • git clone​ clone un dépôt distant ;
  • git add​ ajoute de nouveaux objets blobs dans la base des objets pour chaque fichier modifié depuis le dernier commit. Les objets précédents restent inchangés ;
  • git commit​ intègre la somme de contrôle SHA-1 d’un objet tree et les sommes de contrôle des objets commits parents pour créer un nouvel objet commit ;
  • git branch​ liste les branches ;
  • git merge​ fusionne une branche dans une autre ;
  • git rebase​ déplace les commits de la branche courante devant les nouveaux commits d’une autre branche ;
  • git log​ affiche la liste des commits effectués sur une branche ;
  • git push​ publie les nouvelles révisions sur le remote. (La commande prend différents paramètres) ;
  • git pull​ récupère les dernières modifications distantes du projet (depuis le remote) et les fusionne dans la branche courante ;
  • git stash​ stocke de côté un état non commité afin d’effectuer d’autres tâches ;
  • git checkout​ annule les modifications effectuées, déplacement sur une référence (branche, hash) ;
  • git switch​ changement de branche ;
  • git remote​ gestion des remotes.

 

Installation d’un client git GUI

Il existe des client Git dédiés, comme Github Desktop

Ou bien certains IDE intègrent directement leur propre client Git, comme Visual Studio Code par exemple.

 

GitHub

Création d’un compte

Pour utiliser la plateforme de développement GitHub, créer un compte sur : https://github.com/

Renseigner votre adresse email :

Puis un mot de passe, et enfin un identifiant (unique !) :

Passer l’étape de vérification , puis créer votre compte :

 

Créer un dépôt distant

Une fois identifié sur github.com, depuis la page d’accueil (dashboard), créer un nouveau dépôt distant (repository) :

Configurer le nouveau dépôt distant :

Le dépôt distant est créé. Il contient déjà des fichiers :

  • .gitignore : définit les fichiers et les dossiers qui ne doivent pas être importés (push) depuis les dépôts distants,
  • LICENSE : le texte de la licence
  • README.md : le fichier au format markdown pour donner les premières informations au visiteur. Il contient ce qui apparait en dessous de la liste des fichiers !

 

Création d’un dépôt local

Pour créer un dépôt local sur un ordinateur, le programme Git doit y être installé et configuré.

Ce contenu est réservé aux membres uniquement. Veuillez vous %connecter%.

Il faut ensuite réaliser un clonage :

  1. Copier l’URL du dépôt depuis le navigateur :
  2. Le coller dans le client Git sur l’ordinateur : VSCodium, …

 

 

 

 

 

GitLab

Gitlab.com  

 

Création d’un projet

Un projet doit être créé, par un seul membre de l’équipe :

En cas de page vide (se produit parfois…), purger le cache de Firefox, ou bien passer momentanément par le navigateur Chrome

 

Partager le projet avec d’autres membres

Pour travailler en collaboration, le créateur du projet doit partager le projet avec un ou plusieurs autres membres :

 

 

Applications de gestion de GIT

 

Vous aimerez aussi...

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *