Introduction à Git, comment l'utiliser ?

image

Si tu souhaites en savoir plus et démystifier un peu ces deux outils, tu es au bon endroit. J’ai décidé, dans un soucis de clarté, d’écrire cet article sous forme de questions-réponses. Questions que je me suis moi-même posées, et je vais essayer d’y répondre de la plus simple des manières.

Quel type de programme est Git ?

Git est une implémentation moderne et rapide d’un système de contrôle de version (Version Control System en anglais VCS). Même si il est vrai que Git ressemble plus à un mini système de fichiers avec des outils incroyablement puissants construits par dessus, qu’à un simple VCS.

Une des choses les plus importantes à propos de Git à retenir est celle-ci : Git a trois états principaux dans lesquels tes fichiers peuvent résider :

  • Modifié (modified) veut dire que tu as fait un changement sur ton fichier, mais tu ne l’as pas encore livré (commit) dans ta base de donnée:
  • Stocké (staged) signifie que tu as marqué le fichier comme modifié dans sa version courante pour qu’il aille dans le prochain ‘commit’
  • Livré (committed) signifie que ta donnée, ton fichier est sécurisé, il est maintenant stocké dans ta base de donnée locale.

Il existe aussi 3 sections principales d’un projet Git : l’arbre de travail (appelé Working Directory en anglais), la zone de stockage (Staging Area), et le répertoire Git (.git directory (Repository)).

image

Ce schéma devrait t’aider à visualiser la chose, tu peux maintenant concevoir que le workflow Git de base ressemble à quelque chose comme ça :

  1. Tu modifies ton ou tes fichier(s) dans l’arbre de travail (Working Directory)
  2. Tu sélectionnes ensuite les changements que tu souhaites intégrer à ta prochaine livraison. Nous verrons un peu plus tard comment sélectionner tel ou tel fichier. Une fois cette sélection faite, tu ajoutes ces changements à la zone de stockage (Stage).
  3. Tu fais le commit, tu livres tes changements. Ce qui va avoir pour effet de prendre tes changements dans la zone de stockage et les ajouter de manière permanente dans ton répertoire Git.

Quelles sont les différences entre Git et un éditeur de texte en terme de ce qu’ils sauvegardent et de leur tenue de registres ?

Un éditeur de texte peut seulement faire et sauvegarder des changements sur un fichier. Git peut lui tracker tous les changements fait sur ce même fichier et le contenu de ces changements, à travers le temps. Il va ainsi pouvoir te fournir un historique de contenu des changements que tu as apportés à ton projet.

Git fonctionne-t-il au niveau local ou distant ?

Git fonctionne au niveau local, et enregistre les modifications sur l’ordinateur de l’utilisateur. Tous les changements faits seront enregistrés localement avec Git. Comme tout l’historique de notre projet est présent sur le disque locale, toutes les opérations effectuées par Git semblent instantanées. Par exemple, pour parcourir l’historique d’un projet, Git n’a pas besoin d’interroger un serveur distant, il lui suffit simplement d’aller directement sur notre base de donnée locale. Ce qui signifie qu’on peut voir l’historique du projet pratiquement de façon instantanée.

Cela signifie aussi qu’il y a très peu de choses que tu ne peux pas faire si tu es hors ligne ou hors VPN. Si tu es dans un avion ou un train et que tu souhaites faire avancer un peu ton projet, tu peux commit (sur ton ordi en locale, tu te souviens ?) jusqu’à ce que tu récupères une connexion pour upload ton travail sur GitHub par exemple.

Github fonctionne-t-il au niveau local ou distant ?

Github fonction au niveau distant (remote). C’est un outil qui permet de faciliter le stockage à distance de tous nos projets web. Ainsi, je peux avoir accès à tous mes fichiers, et projets n’importe où dans le monde. Il faut pousser (push) les changements locaux (en utilisant Git) vers Github.

Pourquoi Git est si utile pour un développeur seul ?

Pour un développeur seul, Git permet de voir comment le projet évolue et facilement voir ou restaurer les états d’un fichier du passé. Si tu souhaites être embauché, il est bon de noter que Git fais partie des essential skill pour un développeur web moderne. Avoir un portfolio Github est une grande preuve, pour les employeurs, de ce que tu es capable de faire.

Pourquoi Git/Github est si utile pour une équipe de développeur ?

Git facilite la modification collaborative des fichiers. Cela veut dire que Git ne tracke pas uniquement les changements d’une personne sur un fichier, mais ceux de toute l’équipe. À tout moment on peut savoir qui a fait telle ou telle modification sur le fichier, et voir les modifications effectuées.

Git permet aussi à toutes les personnes de l’équipe de modifier le même fichier en même temps et d’apporter les différentes modifications dans le même fichier. Un développeur peut travailler sur telle fonctionnalité du code pendant qu’un autre développeur travaille sur une autre fonctionnalité. Ils peuvent utiliser Git/Github facilement pour combiner leurs changements.

À un certain degré, grâce à Git, tout le monde peut savoir ce que tout le monde fait sur le fichier et les modifications qui ont été apportées.

Quelques commandes Git de base, utilisées pour gérer un projet

Prends le temps de bien connaître et comprendre ces commandes, car elles vont représenter 70% 80% des commandes Git que tu auras à faire en tant que développeur.

La syntaxe basique de Git est :

$ program | action | destination

Par exemple,

$ git add . 

# est lu comme 

$ git | add | .
# où la destination, le point représente tout le répertoire courant.

Autre exemple

$ git status

# est lu comme
$ git | status | (pas de destination)

Quelle est la commande Git utilisée pour faire une copie complète d’un repo Git provenant de Github ?

$ git clone https://github.com/user-name/repository-name.git

Cette commande va clone le repos Github de ton choix sur ta machine, en locale donc.

Quelle est la commande Git utilisée pour checker le statut d’un fichier ?

$ git status

Cette commande va te permettre de connaître tous les changements effectués depuis ton dernier commit.

Quelle est la commande Git utilisée pour suivre un ficher avec Git ?

$ git add nomDuFichier.ext

Utilise cette commande pour faire suivre le fichier, c’est-à-dire l’ajouter à la zone de stockage en attendant de le commit.

Quelle est la commande Git utilisée pour commit un fichier ?

$ git commit -m "Un message décrivant la modification que tu as effectuée"

N'hésite pas à être le plus précis possible dans tes messages de commit, ils t'aideronts beaucoup, toi et ton équipe, si ils sont facilement compréhensibles.

Quelle est la commande Git utilisée pour voir l’historique des commit ?

$ git log

Quelle est la commande Git utilisée pour upload un projet vers Github ?

$ git push origin master

Pour envoyer le commit vers ton repo GitHub.

Le système en deux étapes que Git utilise pour enregistrer les fichiers.
  • Une sauvegarde dans Git est divisée en deux commandes de terminal : add et commit. La combinaison de ces deux commandes te permet de contrôler exactement ce que tu souhaites qu’on se souvienne.
  • Mise en scène (staging) : pense à comme-ci tu ajouter, en ajustant le nombre de personnes ou d’éléments, à inclure dans une photo. Avec Git, tu peux sélectionner les modifications que tu souhaites enregistrer avec git add. Imagine un projet qui contient plusieurs fichiers où des modifications ont été apportées à plusieurs fichiers. Tu veux sauvegarder certaines des modifications que tu as apportées et laisser d’autres modifications pour continuer à y travailler.
  • Committing: pense à commit comme à l’action de prendre une photo, ce qui donne un instantané. Par exemple, pour livrer un fichier nommé README.md, tape git commit -m “Add README.md”. Le drapeau -m signifie “message” et doit toujours être suivi d’un message de livraison entre guillemets. Dans cet exemple, le message de livraison était “Add README.md”.

Que signifie le mot origin dans git push origin master ?

Dans Git, origin est un nom de lieu pour l’URL du référentiel distant. Git configure l’origine par défaut lorsqu’il clone un référentiel distant. Tu peux utiliser origin pour accéder au référentiel distant sans avoir à entrer une URL complète à chaque fois. Cela signifie également que tu peux avoir plusieurs télécommandes pour un référentiel en donnant à chacune un nom unique.


C’est fini pour aujourd’hui. J’espère que cela va t’aider à comprendre ce qu’est Git et comment il fonctionne. On se retrouve vite pour un nouvel article. En attendant, si tu as des questions ou tout autre suggestions n’hésite pas. À bientôt !

Latest Blogposts

Hoisting en JavaScript

Voici une notion qui peut être un peu déroutante au début, le hissage en français.

3 January 2021

ARRAY JavaScript

On aborde aujourd'hui le thème des tableaux qui sont eux aussi un élément incontournable de la programmation informatique.

23 January 2020