Outils de développement et compilation



Documents pareils
Plan global Outils de développement et compilation. Ce que l on veut éviter. Plan. Git : gestion de code source et versionnement.

Systèmes de gestion de code source

Le système de gestion de version Git et GitHub

Les systèmes de gestion de version

Les logiciels de gestion de version exemple de GIT et application avec SmartGIT

Tutoriel git. Régis Briant, Youngseob Kim & Dmitry Khvorostyanov. Table des matières. 1 Configurer git 2

Outils de développement collaboratif

Pro Git. Scott Chacon*

TP Git. Author : Cedric Dumoulin Date : 2 déc Rev : 9 Dec. 2014

Part IV. Outils de dévéloppement pour le logiciel libre. Logiciel libre, une introduction. Support pour le dévéloppement collaboratif

C.M. 1 & 2 : Prise en main de Linux

Utiliser Subversion (SVN) avec Tortoise

Motivations (many2many) Motivations (many2one) Sur le thème de la Version. La gestion de version. La gestion de configuration.

Cette option est aussi disponible sur les clients Windows 7 sous la forme d un cache réparti entre les différentes machines.

La magie de SVN. Découverte & usage du logiciel

Charte d'utilisation des infrastructures de la plate-forme bioinformatique Genotoul

Plan global Outils de développement et compilation. Plan. Objectifs des outils présentés. IDE, GCC/Clang, ASAN, perf, valgrind, GDB.

Méthodes et outils employés pour développer des logiciels libres

Contrôle de la DreamBox à travers un canal SSH

KIWI BACKUP DOSSIER DE PRESSE

Guide de Saisie de Factures sur le Formulaire Web OB10

Gestion de configuration

PLATE-FORME DE CLOUD COMPUTING SLAPOS. Intégration d applications

Serveur Subversion Debian GNU/Linux

Objectif. Participant. Prérequis. Pédagogie. Oracle Enterprise Manager 10g Grid Control Rel 2. 5 Jours [35 Heures]

Exchange Server 2013 Préparation à la certification MCSE Messaging - Examen

Amiens Métier 39 : Gestion des réseaux informatiques. Jour 2, première partie. Durée : 3 heures

L utilisation du réseau ISTIC / ESIR

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

WGW PBX. Guide de démarrage rapide

Procédure d installation pour WinEUR PROCÉDURE D INSTALLATION POUR WINEUR. Copyright GIT SA 2015 Page 1/16

TP LINUX : MISE EN PLACE DU SERVEUR DE MESSAGERIE QMAIL

Correspondances Windows-Linux

HISTOIRE D UNE DIGITAL FACTORY

Outils supportant le DEVeloppement, le déploiement et la maintenance collaborative des Applications (ODEVA)

Utiliser un proxy sous linux

Veeam Backup & Replication v6

Serena Software. Damien Terrien Solution Architect

Suite bureautique, les enjeux d'une alternative.

CAHIER DES CHARGES D IMPLANTATION

Installer le patch P-2746 et configurer le Firewall avancé

UNIFIED. Nouvelle génération d'architecture unifiée pour la protection des données D TA. dans des environnements virtuels et physiques PROTECTION

Contrôle de versions et travail collaboratif. Organisation du travail collaboratif. Organisation du travail collaboratif

Modelio by Modeliosoft

LXC : Une technologie de contextualisation ultra light intégrée au kernel Linux

PerSal Manuel d installation

Fiche Produit. Sauvegarde en ligne Kiwi Online

Mon premier rpm. 7 juin Avant de commencer RPM URPMI RPMBUILD... 2

Procédure d installation :

OpenERP, un progiciel de gestion intégré pour entreprise, distribué sous licence libre (GPL), qui répond de manière efficace à la complexité et aux

PROSPECTION CLIENTS. À Présentation : PROSPECT. 2 Téléchargement. 3 Installation. 6 Ecran d accueil. 7 Paramétrage. 13 Utilitaires

Tutoriel Création d une source Cydia et compilation des packages sous Linux

Chapitre 1 Windows Server

Les différentes méthodes pour se connecter

En outre, son architecture logicielle moderne lui confère une stabilité, une rapidité de traitement ainsi qu ergonomie optimale.

SP4 Intégration et métrologie Lot 4.1 Spécification de l'intégration

Groupe Eyrolles, 2006, ISBN :

Limitations of the Playstation 3 for High Performance Cluster Computing

Hudson Serveur d Intégration Continue. Adrien Lecharpentier IR3 Ingénieurs2000, Université de Marne la Vallée

Fiche technique logiciel #SAMBC (Windows 2000 / XP / Vista)

Dossier Solution - Virtualisation CA arcserve Unified Data Protection

Projet de Java Enterprise Edition

0.1 Mail & News : Thunderbird

GUIDE PRATIQUE déplacements professionnels temporaires en France et à l étranger

Sommaire. Le quotidien du Service informatique. Qu est-ce que Panda Cloud Systems Management? Le cercle vertueux

Trixbox: Asterisk packagé. Unité Réseaux du CNRS

Quick Start Guide This guide is intended to get you started with Rational ClearCase or Rational ClearCase MultiSite.

Stratégie de sécurité grâce au logiciel libre. Frédéric Raynal Cédric Blancher

Serveur DNS et DHCP couplé à LDAP Debian GNU/Linux

Chapitre IX : Virtualisation

Internet Information Services (versions 7 et 7.5) Installation, configuration et maintenance du serveur Web de Microsoft

Procédure d'utilisation de Password Gorilla

Présentation Générale

MySQL. (Administrateur) (Dernière édition) Programme de formation. France, Belgique, Suisse, Roumanie - Canada

UTILISATION DE L'APPLICATION «PARTAGE DE FICHIERS EN LIGNE»

Travailler à l'ensimag avec son matériel personnel

Maintenir Debian GNU/Linux à jour

Maintenance et gestion approfondie des Systèmes d exploitation Master 2 SILI. Année universitaire David Genest

Ce manuel vous accompagne au long des procédures d installation et de restauration de PheBuX 2004 [alternative solutions]

Auditer une infrastructure Microsoft

Personnes ressources Tice. Académie de Rouen

Installation d'un TSE (Terminal Serveur Edition)

Ce TP consiste à installer, configurer et tester un serveur DNS sous Linux. Serveur open source : bind9 Distribution : Mandriva

Zabbix. Solution de supervision libre. par ALIXEN

Votre solution professionnelle Open Source pour archiver, trouver, gérer, partager... tous vos fichiers multimédia!

MiniCLOUD

pythonocc: une plateforme de développement agile d applications CAO.

Linux 1: Présentation

Maintenance de son PC

TICE présentation de quelques outils. Planifier une réunion - Partager un agenda Partager des documents Des outils académiques

CA ARCserve Backup. Avantages. Vue d'ensemble. Pourquoi choisir CA

KIWI BACKUP DOSSIER DE PRESSE

CP Upgrade Guide HOPEX V1R1 FR. Révisé le : 25 octobre Créé le : 16 juillet Auteur : Jérôme Horber

Outils logiciels SPC - une façon simple d optimiser les performances et la protection

e-obs : Conception et utilisation Rémy Decoupes Ether // ums3365

Serveur de travail collaboratif Michaël Hoste -

Quel serveur pour vous?

Architecture réseaux Nouveau schéma directeur

Oracle 11g Optimisez vos bases de données en production (ressources matérielles, stockage, mémoire, requêtes)

Projet de développement

Transcription:

Outils de développement et compilation Git : gestion de code source et versionnement Timothée Ravier LIFO, INSA-CVL, LIPN 1 re année cycle ingénieur STI 2013 2014

Plan global 1 Historique 2 Git 3 Pour aller plus loin 1 / 22

Plan 1 Historique Gestion des versions Logiciels disponibles 2 Git 3 Pour aller plus loin 2 / 22

Ce que l on veut éviter cp -a mon-projet mon-projet.old cp -a mon-projet mon-projet.backup-03-04-2014 cp -a mon-projet mon-projet.backup-2014-03-04 3 / 22

Concepts Se souvenir de l état d un projet à un moment donné ; Comparer le code d un projet entre deux versions ; Revenir à une version précédente ; Faciliter la collaboration sur un projet ; Se souvenir de qui a modifié quel fichier, à quel moment et pourquoi ; Faciliter la sauvegarde de ces informations ; Automatiser la gestion de ces informations. 4 / 22

Gestion des versions d un logiciel Comparaison des différences dans le code entre deux versions ; Utilitaire diff pour créer des patchs : $ diff pjt-orig/file.c pjt-fixed/file.c > fix.patch Qui sont appliqués avec patch : $ cd pjt-orig && patch -p1 < fix.patch Contribution du patch à un projet open source : Envoi des patchs par mail sur une mailing list ou soumission d une «pull request» (cf partie Git). 5 / 22

Gestion des versions d un logiciel Si le code change il faut refaire le patch ; Outils pour gérer des suites de patchs (quilt) ; Aucune sauvegarde automatique ; Difficile de garder l historique ; Difficile de travailler sur plusieurs patchs à la fois ; Difficile de suivre quel patch a été appliqué et pourquoi ; Il faut plusieurs copies du projet pour travailler. 6 / 22

Concurrent Versions System (CVS) Un des premiers gestionnaires de versions de code source ; Chaque fichier a sa propre version ; Stockage centralisé sur un serveur : dépôt ou «repository». 7 / 22

Subversion (SVN) Principe du commit : regroupe plusieurs changements quelque soit le nombre de fichiers modifiés ; Commit indexés par des numéros strictement croissants ; Gestion centralisée : l historique est stocké sur le serveur ; Seul le serveur possède toutes les versions du projet. Pour ajouter un commit il faut avoir accès au serveur ; Principe des branches : regroupe un ensemble de commits en leur donnant un nom. La branche principale s appelle trunk. 8 / 22

Subversion (SVN) : usage $ svn checkout http://projet.com/svn/trunk/ projet username moi@mail.com $ svn status $ svn add <fichiers> $ svn update $ svn commit 9 / 22

Bazaar (bzr), Mercurial (hg)... Gestion décentralisée : tout le monde possède une copie complète du projet, avec toutes versions et l historique complet ; Il n est plus nécessaire de communiquer en permanence avec le serveur ; Branches locales. 10 / 22

Plan 1 Historique 2 Git Principes Commandes de base 3 Pour aller plus loin 11 / 22

Caractéristiques Logiciel libre (GNU GPL 2) ; Crée par Linus Torvalds, le créateur du noyau Linux ; Conçu dès le départ pour fonctionner avec le noyau ; Gestion de source et de versions ; Décentralisé / distribué (ne nécessite pas de connexion avec un serveur pour fonctionner) ; Branches locales gratuites ; Rapide et puissant ;... 12 / 22

Plus qu une sauvegarde Sauvegarde facile sur un serveur distant ; Propose une attitude saine de développement ; Conçu pour le développement coopératif ; Sûr : les hashs des commits correspondent au code. 13 / 22

What s git

It s the sandbox Joaquim Rocha Git: Best Practices

Holds the new changes to be committed Joaquim Rocha Git: Best Practices

Points to the current commit Joaquim Rocha Git: Best Practices

Working Tree with Changes Joaquim Rocha Git: Best Practices

Joaquim Rocha Git: Best Practices

Index with Changes Joaquim Rocha Git: Best Practices

Architecture 14 / 22

Travailler avec Git git add : ajoute des fichiers au dépôt et au prochain commit (index) ; git rm : supprime des fichiers d un dépôt ; git commit : crée un commit en local ; git pull : récupère les changements présents sur le dépôt distant ; git push : envoie les changements sur le dépôts distant ; git reset : annule certaines opérations (notamment add) ; git checkout : effectue des modifications sur la copie de travail. 15 / 22

Tout est une branche 16 / 22

Travailler avec les branches git branch : créer une nouvelle branche ; git checkout : mets à jour la copie de travail, donc potentiellement change de branche ; git merge : regroupe les changements de plusieurs branches ; git rebase, git pull rebase : déplace les commits de la branche courante à la suite des commits d une autre branche ; git abort : annule une opération de merge ou de rebase en cours. 17 / 22

Tout est récupérable, ou l historique tout puissant git log : affiche l historique ; git diff : affiche les différences entre deux commits, l index ou le dossier de travail ; git revert : annule un commit ; git stash [list save pop] : place les changements courant dans une zone de stockage temporaire. 18 / 22

Plan 1 Historique 2 Git 3 Pour aller plus loin 19 / 22

Documentation Lire le tutoriel officiel et le Git Pro Book [3]. 20 / 22

Pensez à vos messages de commit! http://xkcd.com/1296/ 21 / 22

Références I 1 Git Pro Book : http://git-scm.com/book/ 2 Vue interactive d un dépôt : http://pcottle.github.io/learngitbranching/ 3 Why Git is better than X : http://thkoch2001.github.io/whygitisbetter/ 22 / 22