tutoriel git

Download Tutoriel GIT

Post on 13-Apr-2017

2.390 views

Category:

Technology

1 download

Embed Size (px)

TRANSCRIPT

  • T R A V A I L C O L L A B O R A T I F E F F I C A C E A V E C G I T

    V E R S I O N P Y C H A R M

    18 mai 2016

  • O B J E C T I F S

    2

    1 C o m p r e n d r e l ' i n t r t d e s g e s t i o n n a i r e s d e c o d e

    2 E f f e c t u e r d e s m a n i p u l a t i o n s s i m p l e s

    3 D c o u v r i r u n e s t r a t g i e d e g e s t i o n d e s p r o j e t s

  • Introduction

  • Pourquoi ? Utiliser un Source Code Manager

  • P O U R S O I

    5

    Il est utile de pouvoir retrouver les diffrentes tapes de son travail d'avoir plusieurs versions de son travail en mme temps

  • P O U R S O N E Q U I P E

    6

    Toute production - code ou autre - fait partie du patrimoine de son quipe et doit tre conserve de manire prenne (c.a.d avec des pratiques connues)

  • P O U R N O S E Q U I P E S

    7

    Il est ncessaire d'outiller et organiser le travail collaboratif

  • Pourquoi ? GIT

  • P O U R Q U O I G I T ?

    9

    Il existe beaucoup de SCM : CVS, SVN, Git, Mercurial,... En gnral chaque nouvelle gnration d'outil rend la prcdente obsolte Git apporte beaucoup de souplesses :

    Le travail dconnect La possibilit de travailler facilement sur plusieurs versions de l'application (les branches)

    La version de production La version en dveloppement

    La possibilit de travailler plusieurs : Avec un serveur central Avec plusieurs serveurs centraux Directement entre plusieurs dveloppeurs

  • P O U R Q U O I G I T ?

    La plupart des oprations seffectuent

    sur le poste du dveloppeur sans

    passer par le rseau

    R a p i d e

    Git est disponible sur tous les systmes

    dexploitation. Il peut tre utilis en

    ligne de commande ou via un IDE.

    A g n o s t i q u e

    Il existe, sur Internet, un grand nombre de

    forge bases sur Git. Elles ajoutent des

    fonctionnalits sociales permettant de

    proposer des volutions, des corrections

    S o c i a l

    Via ses fonctionnalits, Git permet de

    mettre en place des organisations du

    dveloppement permettant de rsoudre les

    soucis usuels, par exemple GitFlow.

    E f f i c a c e

    10

  • Remarques

  • I D E U T I L I S E

    12

    Par dfaut Git s'utilise avec l'invite de commande Les principaux IDE (Eclipse, Netbeans, IntelliJ ...) masquent ces commandes en les intgrant leur interface Les exercices proposs utilisent gratuit l'IDE PyCharm (Community Edition) disponible ici : https://www.jetbrains.com/pycharm/. Toutefois, afin de permettre le passage vers d'autres IDE et l'appronfondissement de l'outil, les commandes sont indiques en marge des exercices

    L'onglet Console de PyCharm permet de voir les commandes effectues de manire sous-jacente.

    https://www.jetbrains.com/pycharm/

  • S E R V E U R G I T

    13

    Plusieurs serveurs Git en ligne et gratuits existent (GitHub, BitBucket,...) Il existe galement des serveurs installer localement (GitLab C.E.) Renater propose gratuitement une forge destine aux EPST, Sourcesup, offrant les fonctionnalits suivantes :

    Dpts publics/privs (Authentification base sur Sibboleth) Git Gestionnaire d'anomalies (Mantis BT) Wiki Moteur d'intgration continue (Jenkins)

    Sourcesup

    https://github.com/https://bitbucket.org/https://about.gitlab.com/https://about.gitlab.com/https://about.gitlab.com/http://sourcesup.renater.fr/

  • Quelques notions prliminaires

  • D E P O T L O C A L E T R E P E R T O I R E D E T R A V A I L

    15

    Pour chaque projet, Git utilise un rpertoire (.git) dans lequel il va mettre l'ensemble des donnes/mtadonnes permettant de retracer l'histoire du projet. C'est le dpt local du projet.

    Git va extraire de ce dpt une version du projet dans un rpertoire afin de permettre l'dition des fichiers. C'est le rpertoire de travail du projet. En gnral le dpt local est un sous rpertoire du projet

  • D E P O T L O C A L E T R E P E R T O I R E D E T R A V A I L

    16

    V e r s i o n d e t r a v a i l d u p r o j e t

    R p e r t o i r e d e t r a v a i l

    D p t l o c a l

  • Chaque fois qu'un projet est valid, Git stocke dans le dpt local, une image de tous les fichers composants alors le projet. On parle d'instantan.

    I N S T A N T A N E

    17

  • Avec Git, le cycle classique est le suivant : 1. On ajoute/supprime/modifie des fichiers dans l'espace de travail 2. On groupe l'ensemble de ces modifications (on parle d'indexation) 3. On valide (commit) ces modifications dans le dpt local en y associant un commentaire

    (exemple: correction de l'anomalie #145)

    E C H A N G E S L O C A U X

    18

  • Manipulations locales

  • Le projet peut dj exister ou n'tre qu'un rpertoire vide. Dans le menu VCS, slectionnez Enable Version Control Integration

    Dans la fentre popup, slectionnez Git et cliquez sur Ok

    A l'issue de la configuration, la barre de statut devrait afficher Git:master

    A J O U T E R G I T A U N P R O J E T

    20

  • A J O U T E R G I T A U N P R O J E T

    21

  • Il est utile de pouvoir facilement voir l'ensemble des fichiers ajouts/supprims/modifis et non ajouts au dpt local. Dans la barre de statut, faites apparatre le menu Version Control et cliquez dessus

    Cliquez sur Local Changes pour faire apparatre la liste des fichiers non valids

    C O N N A I T R E L E S F I C H I E R S N O N V A L I D E S

    22

  • Il est utile de pouvoir facilement voir l'ensemble des fichiers ajouts/supprims/modifis et non ajouts au dpt local. Dans la barre de statut, faites apparatre le menu Version Control et cliquez dessus

    Cliquez sur Local Changes pour faire apparatre la liste des fichiers non valids

    C O N N A I T R E L E S F I C H I E R S N O N V A L I D E S

    23

  • A J O U T E R D E S F I C H I E R S A U D E P O T L O C A L

    24

    Lajout de fichiers au dpt local sappelle un commit. Dans le projet, crez deux fichiers, fichier1.txt et fichier2.txt avec comme contenu Contenu du fichier X PyCharm vous propose par dfaut que ces fichiers soient grs par Git. Dclinez l'offre en cliquant sur No Vous pouvez vrifier dans Local Changes que les deux fichiers apparaissent dans la section Unversioned Files Slectionnez les fichiers (dans l'arboresence du projet), Dans le menu contextuel cliquez sur Git puis sur Add.

  • A J O U T E R D E S F I C H I E R S A U D E P O T L O C A L

    25

  • A J O U T E R D E S F I C H I E R S A U D E P O T L O C A L

    26

    Les fichiers sont dsormais indexs et vont pouvoir tre proposs au prochain Commit Cliquez sur l'icne de commit La fentre qui apparat indique les fichiers qui vont faire partie du commit. Vous pouvez en dslectionner. Indiquez un commentaire ainsi que le nom de l'auteur et cliquez sur Commit

  • A J O U T E R D E S F I C H I E R S A U D E P O T L O C A L

    27

  • I G N O R E R D E S F I C H I E R S

    28

    Certains fichiers ne doivent pas tre commits : Fichier spcifiques un IDE ou un poste de dveloppement Fichiers gnrs (.class, .jar)

    PyCharm propose un mcanisme propritaire pour ignorer les fichiers. Nous allons utiliser le mcanisme standard de Git qui repose sur un fichier nomm .gitignore

    Crez un fichier .gitignore la racine du projet Indiquez comme contenu /.idea.Cela signifie que tous les fichiers du rpertoire .idea seront ignors. La liste Unversioned Files n'affiche plus les fichiers du rpertoire .idea

  • I G N O R E R D E S F I C H I E R S

    29

    Le fichier .gitignore est un fichier ordinaire : il doit tre ajout au dpt et commit. La syntaxe du fichier .gitignore est dtaille ici : http://git-scm.com/docs/gitignore Des exemples de fichiers .gitignore adapts chaque language/framework sont disponibles : https://github.com/github/gitignore

    REMARQUES

    http://git-scm.com/docs/gitignorehttp://git-scm.com/docs/gitignorehttp://git-scm.com/docs/gitignorehttps://github.com/github/gitignore

  • S U P P R I M E R U N F I C H I E R

    30

    Lorsque que l'on supprime un fichier - via l'IDE par exemple - il faut rpercuter cette suppression au niveau du dpt local si celui-ci y tait dj prsent. Cette opration est similaire un commit. Crez un fichier fichier3.txt avec comme contenu Contenu du fichier 3. Ajoutez ce fichier au dpot local Supprimez le fichier dans l'arboresence du projet. Cliquez sur le bouton Commit

  • S U P P R I M E R U N F I C H I E R

    31

    Remarquez que cette fois-ci, la boite de dialogue indique que le commit va concerner une suppression. Commitez

  • R E N O M M E R U N F I C H I E R

    32

    Rpercuter le changement de nom d'un fichier prsent au dpt est un action similaire la suppression Renommez le fichier fichier2.txt en fichier2b.txt (via le menu contextuel)

    L'onglet Local Changes indique que le changement est un changement de nom

    Cliquez sur le bouton Commit

  • R E N O M M E R U N F I C H I E R

    33

    Remarquez que cette fois-ci, la boite de dialogue indique que le commit va concerner un changement de nom Commitez

  • C O N S U LT E R L H I S T O R I Q U E

    34

    L'onglet Log permet de consulter l'historique du projet : les diffrents commits (avec leur messa