Ceci est une ancienne révision du document !
Concepts Git
Git est un logiciel de gestion de versions (versionning), créé par Linus TORVALDS en 2005, initialement prévu pour le développement du noyau Linux.
Lancé en 2008, GitHub est un service web d'hébergement et de gestion de développement de logiciels.
-- Repo/Repository
Un repository est un dépôt où un projet est hébergé, permettant de stocker les différentes versions du code.
-- Fork
Un “fork” est une copie d'un repository, permettant de travailler sur la copie qui devient un projet à part entière, au même titre que l'original. “Forker” un repository permet d'effectuer librement des changements sur 1 projet, sans affecter l'original.
La plupart du temps, les forks permettent d'effectuer et de proposer des changements à un projet original, ou deviennent un nouveau point de départ pour un autre projet.
-- Clone
Le clone permet de créer une copie locale d'un projet forké ou créé, pour pouvoir ensuite travailler.
-- Fetch
Le fetch permet de mettre à jour sa copie locale du projet à partir de la version hébergée sur le serveur et potentiellement modifiée par les autres membres de l'équipe. Le fetch est indispensable avant tout travail, pour éviter les futurs conflits. Il permet d'intégrer les commits réalisés par les autres dans sa copie locale.
-- Commit
Le commit permet de valider toutes les modifications effectuées sur un projet pour en créer une nouvelle version.
Le message permettant aux autres développeurs de comprendre la nature des modifications, il est important de s'appliquer à le rédiger.
Comparez le message suivant :
- some css
- styling
- ooops
- misc fixes and cleanups
A celui-ci :
- add subtle background pattern to body
- make subheadings larger on archive pages
- fix typo in site footer
- cleanup code with htmltidy
L'un est clairement plus explicite et plus utile que l'autre…
-- Push
Le commit permet de créer une nouvelle version, qu'il faut ensuite envoyer vers le repository pour la rendre accessible aux autres développeurs, en faisant un push