Git et Github

De EduTech Wiki
Aller à la navigation Aller à la recherche

Cette page est commencée mais elle est à terminer concernant la partie GitHub --Lydie BOUFFLERS (discussion) 11 janvier 2016 à 21:24 (CET)

Introduction

Git est un logiciel de gestion de versions (Version Control System) qui suit l’évolution des fichiers sources et garde les anciennes versions de chacun d’eux sans rien écraser. Cela permet de retrouver les différentes versions d'un fichier ou d'un lot de fichiers connexes et ainsi éviter des problèmes tel que "Qui a modifié le fichier ZaZa, tout fonctionnait hier et aujourd'hui, il y a des bugs !" Avec Git, vous retrouverez sans problème la version qui fonctionnait la veille.

GitHub est une plateforme de "codes" open-source. Pour faire court, c'est une sorte de réseaux social de développeurs. Vous pouvez donc utiliser les projets (à condition de citer vos sources !) et même participer à un projet qui vous intéresse. Sur cette plateforme, vous trouvez de nombreux projets connus comme JQuery par exemple...

Mais, me direz-vous, quel rapport entre Git et Github ?

Github permet d'utiliser le versioning de Git sans avoir à apprendre Git qui se gère à la ligne de commande donc à "l'ancienne".

Github facilite l’utilisation car :

  • Il fournit une interface visuelle pour gérer localement vos projets avec les contrôles de version (projet individuel)
  • Il permet, si vous créez un compte sur GitHub.com, que vos projets soient sur le web (projet collaboratif) avec des contrôles de versions.


Notes : Vous pouvez utiliser Github sans installer Git en créant simplement un compte sur GitHub.com. Cependant, si vous voulez travailler sur votre projet en local, vous devez avoir installé Git. En fait, Github ne fonctionnera pas sur votre ordinateur local si vous n’installez pas Git (vous ne pourrez pas faire de versioning).

Objectif de la page

L'objectif de cette page est de présenter les fonctionnalités de base de Git et Github. Git et Github proposent des fonctionnalités très large qui, pour être maîtrisée, nécessite des lectures complémentaires comme, entre autres, celles des liens fournis en bas de page.

Git

Installer Git

Tout d'abord, vous devez télécharger le fichier sous git-scm.com en choisissant la version correspond à votre machine.

  • Installer Git sous Windows

Sous Windows, l'installation est relativement simple. Rendez-vous sur Git for Windows (Git BASH) et télécharger la dernière version disponible puis lancez-le et suivez les instructions. Pour l'installation, vous pouvez laisser toutes les configurations par défaut.

  • Installer Git sous Mac

Il y a plusieurs façons d’installer Git sous Mac.

Le plus simple est de se baser sur cet installeur pour Mac : git-osx-installer.

Procédure :

  • Téléchargez : vous allez télécharger une archive .dmg qui vous donnera accès à plusieurs fichiers.
  • Ouvrez l'archive .pkg qui se trouve à l'intérieur; cela aura pour effet d'exécuter le programme d'installation.
  • Suivez les étapes en laissant les valeurs par défaut.

Configurer Git

La configuration de Git se faire à la ligne de commande. Cela veut dire que :

  • Sous Windows, vous devez démarrer l’application Git Bash que vous venez d’installer.
  • Sous MacOSX, vous devez ouvrir le Terminal.

ATTENTION, en ligne de commande, respecter bien la casse (espace notamment)


Dans la ligne de commande :

  • Configurer votre nom (ou pseudo) dans la ligne de commande >> git config --global user.name "votre_pseudo"

Évidemment, vous devrez remplacer “votre_pseudo” avec votre propre pseudo ou votre nom entre guillemets pour que Git puisse savoir savoir à qui créditer les commits (voir plus loin) et les projets futurs.

  • Configurer votre mail >> git config --global user.email moi@email.com

Remplacer par votre votre adresse mail (s'assurer que c’est le même email utilisé pour votre compte Github).

C'est tout ce qu'il y a besoin de faire pour démarrer Git sur votre machine.

Débuter avec Git

Pour commencer à travailler avec Git, il y a deux solutions :

  • soit créer un dépôt vide si vous commencez un nouveau projet
  • soit cloner un dépôt existant et l'importer dans Git. Dans ce cas, vous récupérer tout l'historique (versions) des changements d'un projet pour travailler dessus.


Un dépôt, dans un logiciel de gestion de versions comme Git, est une copie du projet. On dit que chaque personne qui travaille sur le projet a une copie du dépôt.

Créer un nouveau dépôt

Pour créer un nouveau dépôt en local, tout d'abord, il faut créer un dossier du nom du projet sur votre disque local:

cd /home/user1
mkdir projet1
cd projet1

Ce qui veut dire

1re ligne

  • cd = ouvrir un répertoire
  • /home = répertoire "home" à la racine du disque (premier "/" = racine du disque) contenant le(s) profil(s) utilisateur(s).
  • /user1 = répertoire personnel de l'utilisateur 1

2e ligne:

  • mkdir projet1= commande permettant de créer le répertoire "projet1" dans le profil utilisateur précédemment ouvert

3e ligne:

  • cd projet1= ouvre le repertoire "projet1" dans le profil user1 du répertoire "home".

Enfin, la dernière chose à faire d'initialiser un nouveau dépôt avec la commande git init.


C'est tout ! Vous venez de créer un nouveau projet Git dans le dossier où vous vous trouvez (un dossier cache .git vient tout simplement d'être créer).

Cloner un dépôt existant

Cela signifie qu'on récupère tout l'historique et tous les codes source d'un projet avec Git.

Comment trouver un dépôt Git ? vous pouvez vous rendre sur github.com qui contient une multitude de dépôts Git et prenons, par exemple, Jquery, vous y trouvez tous les fichiers du projet notamment.

Vous trouvez aussi l'adresse du dépôt (https), ce qui va vous permettre de cloner.

Dans la ligne de commande, vérifier que vous êtes bien à l'endroit où vous voulez cloner le projet (rappel, pour revenir à la racine du disque faire cd / = racine) et taper en ligne de commande: git clone https://github.com/jquery/jquery.git.

Cela va créer un dossier "jquery" et y télécharger tous les fichiers source du projet ainsi que l'historique des modifications. Git compresse automatiquement les données pour le transfert et le stockage, il peut arriver que le clonage d'un dépôt prenne beaucoup de temps.

NB: des messages apparaîtront dans la console. Le dernier de ces messages débutant par checking out; cela signifie que le clonage est terminé.

NB2: pour cloner un dépôt, il y a plusieurs méthodes.

  • Une première méthode ci dessus
  • Une deuxième méthode consiste tout simplement à télécharger le projet via "DOWNLOAD ZIP"
  • Une troisième méthode nécessite l'utilisation de Git Desktop. Pour cela, "forkez" le projet puis aller dans Git Desktop pour le cloner (cela néc=essite donc de connaître Git Desktop).

Fonctionnement général de Git

Git a pour particularité de segmenter clairement les différents niveaux auxquels vous travaillez. En effet, un distingue trois niveaux d'organisation:

  1. Environnement de travail (Working Directory) C'est l'endroit où vous ajoutez/modifiez/supprimez votre code et vos fichiers.
  2. Zone de transit (Staging Area) C'est l'endroit où sont listées les modifications apportées dans votre environnement de travail.
  3. Répertoire final (Repository) C'est finalement l'endroit où Git stock définitivement les changements apportés ainsi que les différentes versions de votre projet. Il combine donc d'une part les codes et fichiers effectivement créés et liste les modifications apportées au répertoire, de sorte qu'on puisse aisément revenir sur les modifications apportées.

Créer une branche

Dans Git, la fonction la plus importante reste de créer une branche. Il est donc vital d'en comprendre la logique sous-jacente. La version de base de votre code s'appelle un "master". C'est l'origine de votre projet, celle sur laquelle vous allez ajouter peu à peu des fonctionnalités une fois que vous aurez vérifié que celles-ci sont viables. Il est donc nécessaire de ne jamais travailler directement sur le master mais de tirer d'abord une branche sur laquelle vous pouvez travailler.

Pour tirer une branche, il vous suffit de taper git branch nomDeVotreBranche !!Faites attention à ce que vous soyez bien dans le répertoire de votre projet!!

Changer de branche

Pour changer de branche, il vous suffit de taper git checkout nomDeVotreBranche

Faire un "commit"

Commit veut simplement dire que vous envoyez la liste des modifications effectuées dans votre Working Directory vers la Staging Area. C'est une étape obligatoire avant de pouvoir push votre branche vers votre master.

Push votre branche vers votre master

L'action de push signifie simplement envoyer les modifications listées dans la Staging Area vers le master

Supprimer une branche

Github

Cet article est une ébauche à compléter. Une ébauche est une entrée ayant un contenu (très) maigre et qui a donc besoin d'un auteur.

A FAIRE >> plan pressenti

Définition de GitHub

Créer un repositoire

Ouvrir une "issue"

Faire un pull request

Liens

Git

GitHub

Pour vraiment aller plus loin sur Git et Github

Récapitulatif "d'un peu tout"