Compte rendu de l'atelier git

Avant tout un grand merci à toutes et à tous. Nous étions un peu moins d’une trentaine à découvrir git, à renforcer nos acquis ou tout simplement à prendre la température (je parle de moi là).

Merci à JB, notre seigneur git, qui a réussi à nous faire aimer ce merveilleux outil

Un grand merci à Florian, notre clutch player, qui une fois de plus a assuré et a pu animer un atelier dissident sans avoir besoin de recharger son PC

Le compte rendu

Un gestionnaire de version ?

Voici en introduction une petite vidéo illustrant l’arborescence des versions d’un projet - ici Unifile- où nous pouvons déjà constater combien git peut faciliter la vie. Et ce surtout quand les contributeurs viennent de partout.

Pourquoi git ?

git remplis quatre critères :

  • Libre : git n’est porté par aucun GAFAM (Google Apple Facebook Amazon Microsoft), vous pouvez voir son code ici
  • Décentralisé : Il n’y a pas de serveur où tout votre code est stocké. Les utilisateurs peuvent se synchroniser entre eux.
  • Local : Chaque contributeur dispose du projet en local
  • Rapide :

Attention please

GitHub n’est pas lié à git, il s’agit juste d’une plateforme offrant des dépôts git gratuits. La version gratuite ne propose que des dépôts publiques.

On trouve aussi

GitLab : Un peu comme GitHub mais opensource
BitBucket : Solution payante qui ne propose que des repos privés et un nombre limité de contributeurs par repo

Let’s begin

Dans un premier temps il va falloir installer git. Rendez vous ici pour l’installer.

Une fois que c’est fait, ouvrez votrer terminal préféré et lancez la commande suivante :

mkdir ma-recette && cd ma-recette git init

Il s’agit là de la création du répertoire “ma-recette”, nous nous y plaçons et enfin nous initialisons git pour ce repo

L’index

On crée un fichier et on ajoute notre liste d’ingrédients

touch recette.txt git status

git status nous indique l’état de notre dépôt. Ici on voit que notre fichier n’est pas suivi, il faut l’ajouter à l’index.

git add recette.txt git status

Le commit

Par définition le commit est un enregistrement des modifications dans le repo

Maintenant que notre index est prêt nous pouvons créer ce fameux commit

git commit git status git log

Retour vers le futur avec la commande revert

Que celui qui ne s’est jamais trompé me jette la première pierre. Pour éviter une pluie de caillou la commande revert est très pratique.
Elle permet de revenir “dans le temps” et de faire machine arrière sur un “commit foireux” comme on dit dans le jargon.

git revert HEAD

Dans la commande ci-dessus on revient à l’état du dernier commit.

Get remote !

Après ce travail en local, il est temps de partager la recette.
Créez un dépôt sur GitHub avec le nom que vous voulez (dans notre exemple nous opterons pour atelier-git) et ne l’initialisez pas.

git remote add origin https://github.com/$USER/atelier-git.git git push origin master

Vous pouvez maintenant voir votre code sur GitHub !

Fork that

La contribution c’est partager son travail mais également intervenir sur le repo de quelqu’un aussi. Pour cela GitHub propose de “forker” votre dossier.
Il suffit alors d’aller sur le dépôt et de cliquer sur “Fork”

fork

GitHub crée une copie chez vous. C’est de là que vous pouvez partir :

git clone $ADRESSE_DE_VOTRE_DEPOT

Vous pouvez maintenant modifier comme bon vous semble les fichiers !

Pull Request ou PR pour les intimes

Mais alors quand je fais ma modification je peux directement la proposer sur le repo que j’ai forké ?

Oui ! Et pour ce faire on passe par une pull request.

pull-request

Dès que le propriétaire aura accepté votre requête, votre modification sera intégrée dans son dépôt.

Pour aller plus loin

En tout premier lieu je vous invite à inonder la boite mail de JB avec vos PR :

https://github.com/JbIPS/ma-recette

Il y a aussi la documentation officielle de git :

https://git-scm.com/docs/gittutorial (en anglais)

Enfin voici une liste non exhaustive si vous souhaitez tout savoir sur GIT

Try Git - GitHub (en anglais)
Git - OpenClassrooms
Git Guide - Roger Dudler

La prez de JB :

https://jbips.github.io/slides/

Merci encore à toutes et à tous et à très vite.

Tags

Rejoignez nous