Suivre le code avec précision :
Collaboration : Si on travaille à 15 sur un même programme :
Version du logiciel :
Un peu comme la fonctionnalité “Historique” de Google Docs ou de Framapad en beaucoup plus avancé.
git est un petit programme en ligne de commande. Qui fait tout ce dont on vient de parler :
Pour la petite histoire, Git a été inventé en 2005 par Linus Torvalds, le créateur de Linux, pour garder la trace des propositions de modification du code de Linux !
⚠️ A ne pas confondre !!!
tig
, meld
, GitKraken, etc.
On va utiliser les trois car c’est nécessaires pour bien comprendre comment on travaille avec git sur un projet.
On va utiliser :
framagit.org
: une forge logicielle open-source. On va l’utiliser pour collaborer sur du code existant. Framagit est l’instance de l’association Framasoft qui milite pour le libre et un Internet décentralisé.Git est très simple d’utilisation pour les cas les plus simples, mais il a parfois un comportement inattendu car il utilise certains concepts parfois contre-intuitifs._
On va utiliser les commandes de base durant les prochains jours pour se familiariser avec le fonctionnement normal.
En entreprise on utilise tout le temps git avec une routine simple. On y reviendra.
Même les ingénieur·es avec de l’expérience se trompent dans le comportement d’une commande Git et ne connaissent pas forcément les fonctions avancées.
Vous êtes dans un dossier avec du code :
git init
crée un dépôt dans ce dossier (transforme un dossier simple en un dossier avec git d’initialisé)git add
permet de suivre certains fichiers (dire à git qu’il faut inclure la version actuelle de ce fichier dans git)git commit
permet de valider vos modifications pour créer ce qu’on appelle un commit, c’est-à-dire une étape validée du code.git status
et git log
permettent de suivre l’état du dépôt et la liste des commits.Un commit est composé :
d’un message de commit
d’un instantané du code auquel on se réfère via un identifiant unique (une empreinte ou un hash)
d’un auteur / une autrice
de référence par rapport à un (ou des) commit parent (ce qui nous permet de faire des branches de l'arbre de Git)
to commit signifier s’engager
Idéalement, lorsque vous faites un commit, le code devrait être dans un état à peu près cohérent et le commit devrait rassembler des modifications qui ont du sens pour atteindre un objectif (par exemple : résoudre un bug, rajouter une fonctionnalité, modifier de la documentation…)
Toujours mettre un message de commit
Les commits sont des étapes du développement du logiciel. Lire la liste de ces étapes devrait permettre à un·e developpeur / développeuse de comprendre l’évolution du code.
un commit est toujours une référence à une version précise de l’ensemble du code par rapport à l’arbre Git, c’est n’est pas juste des ajouts et des suppressions par rapport au code du commit précédent