• Aucun résultat trouvé

Systèmes de gestion de versions : Git

N/A
N/A
Protected

Academic year: 2022

Partager "Systèmes de gestion de versions : Git"

Copied!
12
0
0

Texte intégral

(1)

Systèmes de gestion de versions : Git

Arnaud Giersch

DUT Informatique – S3 2021

(2)

Plan

1 Systèmes de gestion de versions

2 Systèmes décentralisés

3 Git

4 Organisation

5 Pour aller plus loin

(3)

Systèmes de gestion de versions

Système de gestion de versions

Définition

Permet de stocker un ensemble de fichiers en conservant l’historique des modifications.

Utilisé en général pour un ensemble de fichiers texte (codes sources en particulier).

Propriétés

liste des modifications (différences entre les versions) auteur

date

message associé à chaque modification etc.

(4)

Systèmes de gestion de versions

Intérêts

Conservation de l’histoire d’un projet (corrections de bugs par ex.) Gestion des conflits :

développement à plusieurs

développement sur plusieurs machines/systèmes Obtention aisée de la dernière version

Récupération d’une version précédente Étiquetage des versions

Gestion de branches : stable, devel, experimental, etc.

(5)

Systèmes de gestion de versions

Historique

Classification par mode de fonctionnement.

Local

Dépôt local au projet.

Ex. : SCCS (1972), RCS(1982)

Centralisé

Dépôt sur un serveur central, accessible par le réseau.

Ex. : CVS (1990) , Subversion/SVN (2000)

Décentralisé

Pas nécessairement de serveur central.

Ex. :Git (2005), Mercurial (2005), Arch (2006, disc.), Bazaar (2005)

(6)

Systèmes décentralisés

Avantages de la gestion décentralisée

Pas dépendant d’une seule machine comme point de défaillance.

Possibilité de travailler sans être connecté au gestionnaire de version.

Participation à un projet sans nécessiter de permissions particulières.

Opérations locales, généralement sont plus rapides.

Permet le travail privé (brouillons, . . . ).

Permet toutefois de garder un dépôt de référence central.

(7)

Systèmes décentralisés

Désavantages de la gestion décentralisée

Cloner un dépôt implique de copier tout l’historique plus long

espace disque

Pas de système de verrou

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

Peut être plus complexe de fusionner différents développements.

(8)

Git

Git

Caractéristiques

Développé à l’origine par Linus Torvalds (avril 2005) remplacement de Bitkeeper pour la gestion du noyau Linux Fonctionne sous Linux, Unix, OS X, Windows

GPL v2 Performant

Communications par les protocoles GIT, HTTP, HTTPS, SSH Commits identifiés par une somme SHA-1 (hash)

Hébergement

Services : bitbucket.org, framagit.org, github.com, gitlab.com À l’IUT : gitlab.iut-bm.univ-fcomte.fr

Logiciels : gitolite, GitLab

(9)

Git

Références

Manuel (man), en particulier gittutorial(7), gittutorial-2(7) Site de référence :https://www.git-scm.com/

Livre : Pro Git (Scott Chacon et Ben Straub) https://www.git-scm.com/book

(10)

Organisation

Organisation

Travaux pratiques

Création et utilisation d’un dépôt local

Création et utilisation d’un dépôt sur un serveur central Enregistrer des modifications (commits)

Échanges entre dépôts

Exploration de l’historique d’un projet Gestion des branches

etc.

Contrôle de connaissances final Contrôle sur feuille

(11)

Pour aller plus loin

Pour aller plus loin

Fonctionnalités

Les hooks (cf. githooks(5))

permettent de déclencher automatiquement des actions (vérification des commits, envoi de mail, etc.)

Interaction avec d’autres systèmes : git svn, git cvsimport, . . .

Installer son propre serveur

Gestion d’utilisateurs, contrôle d’accès.

Exemples :

gitolite (https://gitolite.com/gitolite) GitLab (https://about.gitlab.com/products/)

(12)

Pour aller plus loin

Autres outils

Interface web

Exemple : gitweb

Revue de code

Exemple : Gerrit (https://www.gerritcodereview.com/)

Intégration continue

Jenkins (https://jenkins.io/)

GitLab CI (https://about.gitlab.com/gitlab-ci/) Travis CI (https://travis-ci.org/)

. . .

Références

Documents relatifs

 Des stratégies de gestion des conflits & le modèle de Thomas & Killmann..  Des pistes

Dans le conflit: chercher à avoir raison, entrer dans une escalade, une compétition pour sortir vainqueur (ou perdant), définir l'autre comme inadéquat ou se dévaloriser ⇒

Outil de formation proposant des apports théoriques et des applications pratiques pour mieux gérer les situations de tensions et de conflits dans les relations personnelles au

Le milieu doit contenir les éléments suivants pour répondre aux besoins de l'Orignal: (1) une strate d'alimentation terrestre abondante et diversifiée (feuilles et ramilles

(Gestion de projet pour le) développement, (et la) maintenance des logiciels..

Enfin, NextStage AM doit tenir et actualiser régulièrement un registre consignant les types de service d’investissement ou de services connexes, ou les autres activités exercées

− Concepts de base : instantan´e du d´epˆot local, fichier sous suivi de version, zone de transit, validation, branche, ´etiquette, fusion de branches.. − Processus

Dans ces quelques pages, nous complétons cette introduction avec un autre outil Git , une autre manière d’intégrer des modifications, et une boîte à outil pour la résolution