Skip to content
Snippets Groups Projects
Select Git revision
  • master default protected
  • vS5_2020-2021
2 results

tuto-git-gitlab.md

Blame
  • Sommaire

    TOC

    Tuto sur git/gitlab

    Ce document présente un tuto à l'usage de git/gitlab. Il est consultable sous forme de vidéo sur Moodle.

    Comme tout tutoriel, ce document a besoin de vos retours pour s'améliorer! N’hésitez pas à m'envoyez un mail décrivant vos difficultés et, éventuellement, les solutions que vous auriez trouvées pour les contourner.

    Remarque : Pour cutiliser git, vous devez savoir ouvrir un Terminal sur votre machine, quelque soit le système d'exploitation (Windows, Linux, ou Mac OS X). Sous Windows X, vous pourrez utiliser le programme Windows powershell qui est très similaires au Terminal de Linux et de Mac OS X. Vous devez aussi savoir naviguer dans vos dossiers à l'aide de la commande cd. Typiquement :

    cd c:\Users\stephane\TP_Hadoop # Windows
    cd ~\TP_Hadoop                 # Mac, linux

    Si vous souhaitez remonter d'un niveau dans la hiérarchie des dossiers: cd ... Des tutos vidéo existent pour décoruvrir les comandes de bases (identiques à celles que l'on retrouve sur les systèmes Linux).


    Installer git pour Windows (si requis) et et Github Desktop

    Avant de commencer, il faut vérifier que git (un gestionnaire de version de fichiers) est bien installé sur votre machine. git est normalement disponible par défaut sur les machines Mac OS X et Linux et Windows 10. Pour vérifier, lancez la commande suivante dans un Terminal

    git --version

    S'il est absent, alors installez-le grâce au lien suivant git-scm. Lors de l'installation, validez les choix par défaut qui vous sont proposés.

    L'interface Github Desktop que nous allons installer n'est absolument pas nécessaire pour travailler avec git. Mais elle évite, dans un premier temps, d'utiliser des commandes manuelles à partir d'un Terminal.

    1. Téléchargez, installez et lancez l'application Github Desktop.
    1. Configurer *Github Desktop* (cette étape n'est nécessaire que si vous ne l'avez pas déjà fait lors de l'installation du logiciel) : aller dans le menu ``Préférences / git`` et entrez votre nom et votre adresse émail.

    Gérer son premier projet git avec gitlab

    1. Montrer l'interface de gitlab
      • Adresse: https://gitlab.ec-lyon.fr;
      • Identifiant: ceux de Centrale;
      • Naviguer dans le projet INF-TC2. Donner quelques explications sur l'interface.
    2. Créer un nouveau projet
      • Nom : HelloWorld;
      • Description: Mon premier projet gitlab;
      • Discuter Public/Internal/Private;
      • Sélectionner Initialize repository with a README;
      - Cliquer sur l'icône ``Clone`` et copier le lien ``Clone with HTTPS``, qui ressemble à https://gitlab.ec-lyon.fr/xyyyyy/helloworld.git.
    3. Basculer sur Github Desktop,
      • Sélectionner l'option Clone a Repository from the Internet, puis l'onglet URL (ou menu File, Clone repository).
      • Copier l'adresse précédemment mise en mémoire dans l'espace dédié, et choisir dans local path le répertoire dans lequel votre projet sera copié. Appuyez sur le bouton Clone de l'interface pour lancer l'importation de votre projet gitlab sur votre machine.
      • Vérifier dans un gestionnaire de fichiers que le repo est bien copié localement sur sa machine et qu'il contient un répertoire caché (.git) et le fichier readme.md.
      • Basculer sur l'onglet history, et commenter.
    4. Pour éviter que certains fichiers temporaires ne soient suivis par git, on va spécifier les fichiers a exclure dans un fichier appelé .gitignore (il s'agit d'un fichier caché). Pour cela - On doit alors *Commiter* les changements (le texte par défaut qui décrit le ``commit`` est OK). Plus de détails sur ces ``commit`` plus loin.
    5. Éditer le fichier readme.md avec Sublime Text (ou tout autre éditeur de texte) et enregistrer les changements localement:
      • Basculer vers Github Desktop et discuter les changements qui interviennent sur l'interface.
      • Commiter les changements, et monter l'onglet History.
      • Pusher le travail vers gitlab en utilisant l'option Publish Branch.
      • Basculer vers gitlab et vérifier que les changements ont bien étaient publiés
    6. Basculer vers Spyder pour éditer du code python:
      • Taper un programme incremente_de_un(x) et sauvegarder dans votre répertoire local sous le nom de fichier incremente.py.
      • commiter les changements dans Github Desktop
      • Refaire la même chose avec un autre fichier (incremente_de_deux(x)), à sauvegarder dans un sous répertoire test.
      • Pusher son travail vers gitlab, et vérifier que tout se met bien à jour.

    De manière synthétique, une fois le projet créé,

    1. vous modifiez vos code sources, et enregistrez régulièrement vos changements avec un commit (donc en local). Vous pouvez commiter des sources même s'ils ne sont pas terminés ou comportent des bugs. À ce stade cela n'a pas d'importance.
    2. quand vous êtes content de votre travail, et que vous jugez vos algorithmes fonctionnels, vous pouvez alors publier vos précédents commit sur gitlab avec un push.

    Ce comportement est illustré par le schéma de la figure suivante:


    Pour détruire ce projet (sans grand interêt), il faut :

    1. Quitter Spyder pour farmer les fichiers en cours.
    2. Détruire la version locale en utilisant Github Desktop: sélectionner l'onglet Current Repository, et le menu contextuel sur le nom de votre projet permet d'accéder à Remove. Penser à cocher la suppression physique des fichiers si vous le souhaiter (sinon seul la gestion du projet par Github Desktop sera supprimée, les fichiers seront toujorus présents sur votre disque dur).
    3. Détruire la version distante sur gitlab: Dans la barre de menu latérale à gauche de l'interface Web, sélectionnez l'icône représentant une roue crantée correspondant à Settings. Dans le sous-menu Général, appuyez sur le bouton Expand correspondant à la ligne : Advanced. Tout en bas, sélectionner Delete Project, copier la phrase demandée et appuyer sur le bouton pour confirmer.

    A quoi ça sert d'utiliser git et gitlab ? Les avantages sont nombreux:

    • Avoir un copie de son travail sur un serveur distant.
    • Sauvegarde incrémentale et dun historique des modification (undo infini!)
    • Partager son travail avec tout le monde (si votre projet est publique), ou avec des personnes choisies (invitations personnelles).
    • Travailler à plusieurs sur le même projet et en même temps (mais ça, c'est un autre tuto...)
      • fusion automatique (ou presque) des sources
      • traçage des modification (qui, qoui)

    Stéphane Derrode