Git et Github

De EduTech Wiki
Aller à la navigation Aller à la recherche
Cette page va être divisée en deux :

Mais il faudra la laisser car il a y beaucoup de références dans d'autres pages.

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. Si vous voulez néanmoins que Git soit disponible également dans la ligne de commande de Windows (prompt ou powershell), cochez cette option :

Optionnel : cochez cette option si vous voulez avoir les commandes Git dans le prompt ou powershell de Windows.

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 fait à la ligne de commande. Cela veut dire que :

  • Sous Windows, vous devez démarrer l’application Git Bash que vous venez d’installer (ou la ligne de commande Windows si vous avez cochez l'option du PATH, voir plus haut)
  • 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 à 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 adresse mail (s'assurer que c’est le même email utilisé pour votre compte Github).

C'est tout ce qu'il faut 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érez 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.

Merge votre branche vers une autre

L'action de merge (fusion) signifie simplement envoyer les modifications listées dans la Staging Area vers le Repository. Cela signifie donc qu'on applique les changements effectués à une autre branche, qui est souvent le master ou une des sous-branches de celui-ci.

Pour merge vos modifications, il faut que vous soyez dans la branche que vous avez modifié et il vous suffit de taper git merge nomDeLaBrancheVisée

Push une branche vers un master

Lorsque vous travaillez en collaboration, vous allez partager un projet définitif (un master commun) avec une autre personne et chacun de vous crée donc un clone de ce master, duquel vous tirez des branches pour travailler. Pour ensuite envoyer les modifications au projet définitif (le master commun), tapez git push nomDeVotreMasterCommun nomDeVotreBrancheAPush Ainsi, votre collaborateur aura également son propre master modifié une fois qu'il aura mis sa version à jour.

Supprimer une branche

Pour supprimer une branche, faites juste attention à ne pas être dessus pour la supprimer (ne sciez donc pas la branche sur laquelle vous êtes assis!). Tapez git branch -d nomDeLaBrancheADetruire


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

Vous pouvez créer un nouveau repository sur votre compte personnel en suivant les étapes suivantes:

  1. Dans le coin supérieur droit de la page, cliquez sur + puis cliquez sur Nouveau repositoire (repository)
  2. Sélectionnez le compte que vous souhaitez créer le nouveau repositoire.
  3. Nommer votre repositoire.
  4. Vous pouvez changer les paramètres de votre repositoire, public ou privé. si vous choisissez de mettre le repositoire public, il sera visible pour le public, tandis que le repositoire privé ne sera accessible que pour vous ou les gens que vous le partager avec.
  5. Lorsque vous avez terminé, cliquez sur Créer un repositoire.
  6. Si vous importez un repositoire qui existe déjà à GitHub, vous devez pas choisir une des options, car vous pouvez introduire un conflit de fusion.

Vous pouvez choisir d'ajouter ces fichiers à partir de la ligne de commande plus tard.

  • Vous pouvez créer un fichier README, qui est un document décrivant votre projet.
  • Vous pouvez créer un fichier .gitignore, qui est un ensemble d'ignorer les règles.
  • Vous pouvez choisir d'ajouter une licence de logiciel pour votre projet.

Créer une "issue"

Les issues peuvent être utilisés pour assurer le suivi des bogues, des améliorations ou d'autres demandes de projets.

Tout utilisateur GitHub peut créer une issue pour un dépôt public et pour se faire, suivez les étapes suivantes:

  1. Sur GitHub, accédez à la page principale du dépôt.
  2. Cliquez issues.
  3. Cliquez nouveau issue.
  4. Tapez un titre et une description pour votre issue.
  5. Lorsque vous avez terminé, cliquez sur Soumettre nouveau issue.

Faire un pull request

Pour créer ou faire un pull request. Il suffit de suivre les étapes suivantes:

  1. Sur GitHub, accédez à la page principale du repositoire(repository).
  2. Dans le menu “Branch”, choisissez la branche qui contient vos commits.
  3. A droite de menu “Branch”, cliquez sur New pull request.
  4. Tapez un nom et une description pour la nouvelle pull request.
  5. Cliquez Créer new pull request.

Références

https://help.github.com/

Liens

Git

GitHub

Pour vraiment aller plus loin sur Git et Github

Récapitulatif "d'un peu tout"