Professional Documents
Culture Documents
Github
Github
o Plusieurs acronymes :
o SCM : Source Code Management
o VCS : Version Control System
o RCS : Revision Control System
Introduction aux SCM
Pourquoi les SCM
o Maîtriser le code produit durant un développement logiciel
implique de savoir ce qui à été fait :
oPar l’ensemble des développeurs (Qui ?)
oDans le temps (Quand ?)
oPour quel motif/fonctionnalité (Pourquoi ?)
oImpliquant de nombreuses fonctions, dans de nombreux fichiers (Où ?
Comment ?)
→Leur utilité ne se limite pas au travail à plusieurs.
Introduction aux SCM
Pourquoi les SCM
Utilité :
oPermettre la traçabilité d’un développement (historique des changements)
oFaciliter la collaboration, éviter les conflits ou aider à la leur résolution
oGarder une version du code source toujours fonctionnelle, tout en travaillant
sur plusieurs fonctionnalités (notion de branche)
oPermettre des schémas organisationnels structurant les développements
(workflows)
Introduction aux SCM
Historique
Principaux SCM :
oCVS (1990) : centralis ́e, travaille sur des fichiers, limité
oSVN (2000) : centralisé, travaille sur des fichiers, workflows limités
oGit (2005) : décentralisé, travaille sur des arborescences de contenus
o... et beaucoup d’autres, libres (Bitbucket, Bazaar) ou propriétaires (Microsoft,
HP, IBM)
→Quelque soit le SCM utilisé, il est important d’en utiliser un et de maîtriser les
opérations de base.
Introduction aux SCM
GIT
Introduction aux SCM
GIT
oChaque année des groupes de projet, des stagiaires, etc. tentent de se passer
de SCM...
oPartage du code par divers moyens archaïques et dangereux :clé USB, email,
Google Drive, Instant Messaging, etc.
o Git reflog
o Consulter l’historique des manipulation du graphe
Git
Consultation des méta-données
o Git blame nom_fichier :
o Consulter qui a modifié quelles lignes d’un fichier :
o Git reflog
o Consulter l’historique des manipulation du graphe
Git
Annuler des modifications
Git
Annuler des modifications
Git
Gestion des branches
Les branches permettent de réaliser un développement en parallèle de la branche principale
afin de limiter les impacts.
Lister les branches existantes : git branch
Créer une nouvelle branche : git checkout -b nom _branche (nom_racine ou SHA1 )
Changer la branche active : git checkout nombranche (revient à déplacer la référence HEAD
vers le commit le plus récent de cette branche)