Formation Git

3- Les bases de Git


Un logiciel de gestion de Versions Décentralisé (DVCS)


Pourquoi un gestionnaire de version ? et pourquoi décentralisé ?


Un logiciel de gestion de versions (ou VCS : V ersion C ontrol S ystem) est un logiciel qui permet de stocker un ensemble de fichiers en conservant la chronologie de toutes les modifications qui ont été effectuées dessus.
Il permet notamment de retrouver les différentes versions d’un lot de fichiers connexes (extrait Wikipedia)

Avantages de la gestion de versions :


→ Faciliter la sauvegarde et le travail collaboratif en :
→ disposant d’un historique sur les changements apportés
→ permettant facilement le retour en arrière
→ Partageant les changements

(documenter (messages de commit), fusionner, récupérer, visualiser les modifications apportées,...)

Historique des Gestionnaires de Version

Gestion de versions centralisé ( un seul dépôt fait référence )

(1986 : le premier : C oncurrent V ersioning S ystem)

(2000 : SVN lancé pourremplacerCVS, a suscité un réel intérêt pour les VCS, le plus populaire avant l’arrivée des DVCS...)

Plusieurs dépôts pour un même projet Travail en local possible sans accès réseau !

Gestion de versions décentralisé ( D istributed V ersion C ontrôl S ystem)

(2005 : développé et optimisé pour le noyau Linux par Linus Thorval lepluspopulaire ...)(2005) (2008)

Gestion Centraliséevs Gestion Décentralisée (pour la collaboration : copie de travail vs dépôt)

Extrait :https ://fr.atlassian.com/git/tutorials/setting-up-a-repository

Git ne fait aucune distinction entre la copie de travail et le dépôt centralisé. Ce sont des dépôts Git à part entière. Ce sont les bases de Git.

Joel Spolsky (Stack Overflow, Trello)décrit la gestion de version décentralisée comme « probablement la plus grande avancée dans les technologies de développement logiciel dans ces années »

A lire :https://www.joelonsoftware.com/2010/03/17/distributed-version-control-is-here-to-stay-baby

Git : le plus populaire des gestionnaires de version

Extrait : http://pages.zeroturnaround.com/RebelLabs-Developer-Productivity-Report-2016.html

www.itgalaxy.io

Pourquoi préférer un DVCS ...

Avantages de la gestion décentralisée :


→ Ne pas être dépendant d’une seule machine comme point de défaillance
→ Travailler sans être connecté au gestionnaire de version
→ Pas de permissions particulières pour participer à un projet (les droits de commit/soumission peuvent être donnés après avoir démontré son travail et non pasavant)
→ Opérations plus rapides pour la plupart car réalisées en local (sans accès réseau)
→ Travail privé (réalisation de brouillons sans devoir, publier ses modifications et gêner les autres contributeurs)
→ ... Avec un dépôt de référence contenant les versions livrées d’un projet.

Extrait :https ://fr.wikipedia.org/wiki/Gestion_de_versions

Inconvénients :

→ cloner un dépôt est plus long que récupérer une version car tout l’historique est copié (ce qui est toute foi sun avantage par la suite)

→ il n’y a pas de système de lock

(ce qui peut poser des problèmes pour des données binaires qui ne se fusionnent pas).

Ce site Web est propulsé par https://ItGalaxy.io

Leave a Reply

Your email address will not be published. Required fields are marked *