Blog

GitHub sur windows, le guide facile !

Vous connaissez GitHub ?

GitHub, c’est le truc à la mode pour tout bon technicien qui se respecte ! Si vous ressentez le besoin d’être « à la page », il est temps pour vous de vous mettre à GitHub ! C’est libre, gratuit, et on dort beaucoup mieux après !

Mascotte GitHub à la rue

GitHub sur Windows, il faut le dire, c’est un peu la misère…

Alors, pour les non techniciens

De manière succinte : C’est un site qui permet de partager ses dossiers, qu’ils contiennent des sites web ou pas, grâce à un outil de « versionning », git. Cet outil permet, comme son nom l’indique, de versionner facilement des fichiers, ce qui permet de voir l’ensemble des modifications apportées chronologiquement sur celui ci et de permettre des retours en arrière lorsque nécessaire. Mais plus intéressant encore, cela permet à plusieurs personnes de travailler en même temps sur un projet sans que cela ne génère de conflit (système de branche). Et enfin, tout ceci est décentralisé, vous pouvez donc avoir une version de votre projet virtuellement dupliqué sur autant d’ordinateur que souhaité. Ce présent article s’adresse plutôt à des techniciens ou à des passionnés.

Définition pour les techniciens

C’est un site qui sert de plateforme d’hébergement avec l’arsenal en ligne qui permet d’héberger ses projets sur un dépôt git. c’est gratuit si on part du principe que la seule « contrepartie » est que chaque projet est publié sous licence libre, et donc accessible et disponible à tous. On peut aussi opter pour un dépôt privé, donc inaccessible pour les autres internautes, mais c’est payant. Pensez néanmoins que vous pourrez trouver régulièrement de nombreux projets qui serons utiles aux vôtres. Faites donc de même et faites vivre la communauté. Avant de se lancer dans l’utilisation de ce site, il est important de connaître le fonctionnement de git, car je ne l’aborderai qu’au niveau macro, c’est à dire dans la manipulation des branches au quotidien, et ce, seulement sur ces aspects les plus essentiels.

Maintenant, supposons un cas d’application concret : Je suis sur mon Windows 7 (ou XP), et je souhaite partager avec la communauté un de mes projets de site web, un plugin jQuery, ou même un simple document texte qui liste les « sites de la semaine », et qui n’est hébergé nul part, si ce n’est localement sur ma machine. Deux options sont possibles pour déployer un dépôt git sur sa machine Windows, et ensuite le synchroniser avec celui de son compte GitHub. Je précise Windows, car sur mac ou Linux, ce n’est pas pareil (c’est relativement plus simple en fait) !

L’étape 1 – option 1, dites « du geek ».

Du geek, parce que ça va se passer essentiellement en ligne de commande. Elle présente néanmoins l’intérêt de pouvoir directement maitriser ce qui se passe au cœur, et  si des étapes sont loupées, le guide des commandes de git reste universellement fonctionnel.

La première étape est d’installer MSysGit. Ce logiciel dédié à Windows intègre un Shell Linux, celui-ci comprenant notamment Git. En effet, Git a été conçu pour gérer le code du projet Linux par le fondateur de ce même système, Linus Torvalds, et il est principalement conçu pour tourner sur les systèmes UNIX / Linux. Pour le porter sur Windows, il faut donc passer par ce genre de manipulations. Vous pourriez aussi probablement passer par Cygwin et déployer le package git vous même, mais là n’est pas l’objet de l’article.

mSysGit capture d'écran

Voilà, vous l’avez installé, et vous venez de le lancer ! Une fenêtre Shell vient de s’ouvrir !

Alors voilà, c’est bien beau, vous avez une fenêtre de ligne de commande. Je ne rentrerais pas dans les détails, mais voici les lignes de commandes basiques mais essentielles pour parvenir à ses fins :

pwd

Affiche le chemin complet jusqu’à l’endroit courant où l’on se trouve.

ls

Liste les fichiers courants. Est pratique pour bien contextualiser où on se trouve.

cd

Pour se déplacer dans un des dossiers. L’exemple ci dessous vous amènera dans le répertoire monrepertoire :

cd monrepertoire

Enfin, n’oubliez pas qu’il existe la touche « tabulation »/ »Tab »  pour compléter le nom d’un fichier ou d’une commande lorsque vous la saisissez à la main, ce qui est bien pratique !

L’étape 1 – option 2, dites « du renard rusé ».

Peut-être l’aurez vous remarqué en vous baladant sur GitHub, mais il existe un bouton « clone in windows ».

Capture d'écran du site windows github

Télécharger windows github en vous rendant sur le site http://windows.github.com/ et en cliquant sur le bouton vert en haut à gauche. Cliquez sur l’image pour y accéder directement.

Une fois le logiciel téléchargé et installé (simple Setup relativement classique à exécuter), vous devriez avoir deux icônes sur votre bureau (sauf si vous avez refusé cette option évidemment), l’une pour directement codé en shell (en fait MSysGit !), l’autre étant l’interface du logiciel, les deux étant généralement complémentaire (d’où l’utilité d’avoir les quelques lignes de commandes dans sa besace !). En fait, ce logiciel est la combinaison d’autres logiciels et bibliothèque de code : MSysGit, mais aussi libgit2, posh-git, caliburnmicro, et d’autres encore dont vous pouvez retrouver la liste ici.

le logiciel github for windows

Les deux icônes et leur deux fenêtres.

Etape 2 : Créer un dépôt distant sur le site GitHub.com.

Après vous être créer un compte sur GitHub (mais vous l’aviez déjà fait, n’est ce pas ?), il vous faut créer un dépôt. Comment ça se passe ? Très facilement, tout se passe en ligne :

Etapes pour se créer un dépot git

Étapes pour se créer un dépôt git

1 > Pour vous rendre sur votre compte, cliquez simplement sur votre pseudonyme.
2 > Une fois sur votre compte, vous pouvez voir la liste de vos projets dans la colonne principale. Si vous débutez, vous en aurez … 0 !
3 > La « Public Activity » est un tableau de bord qui regroupe toutes les actions que vous, les gens, les projets que vous suivez génèrent, ou encore les relations que vous tissez (si vous commencez à suivre un nouveau githuber’z par exemple 🙂 ).
4 >Le bouton magique, « new repository ». Et oui, c’est en cliquant là dessus que vous allez créer un nouveau projet ! Cliquez donc !

Création d'un dépôt sur GitHub

Création d’un dépôt sur GitHub

1 > Le nom du dépôt. Simple, parlant, c’est toujours l’idéal. Il n’y a aucune obligation à le mettre en anglais !
2 > La description. Elle sera visible à tous, et servira de labels a vos futurs amis GitHubers ! donc, tant qu’à faire, soyez le plus explicite sur votre projet !
3 > Et oui, votre dépôt sera public ! Sauf si vraiment vous êtes un prestataire de service et que vous souhaitez pour des raisons de confidentialité protéger votre travail. Auquel cas, il vous faudra payer !
4 > Souhaitez vous un fichier « README » tout fait dans votre futur nouveau dépôt ? La réponse est plutôt oui ! Ce fichier servira de document de présentation pour tous les utilisateurs qui iront sur la page de votre projet ! Par défaut, si vous cochez cette option, il reprendra la phrase de description que vous avez mit ! Le README est réalisé en MARKDOWN (extension .md) , un language de tag qui n’en est pas vraiment un, mais qui permet de réaliser une documentation facilement et de manière très souple, sans avoir à se prendre la tête avec la floppée habituelle de balises HTML. En savoir plus sur le markdown. Alors par contre, attention, GitHub n’utilise pas la syntaxe stricte du MarkDown, mais une version légèrement modifiée !
5 > Si vous avez été sage, et que vous avez tout remplit correctement, vous allez pouvoir créer votre petit dépôt !

La page du dépôt

La page GitHub du projet sur le dépôt distant

1 > Vous venez de créer votre dépôt, vous êtes donc par défaut sur la branche principale, à savoir la « master » !
2 > Le .zip du projet, disponible pour vous mais aussi pour les premiers inconnus qui passent.
3 > « Admin » > ce lien vous permet de changer le nom de votre projet, de créer automatique un wiki ou une page lié à votre projet, ou encore de le supprimer !
4 > « Clone in windows » > comme son nom ne l’indique pas, ne fait que lancer l’application github sur votre pc, qui, elle, en revanche, vous permet un ensemble d’actions sur vos dépôt distants GitHub et ceux en local sur votre machine. Et de là, vous pouvez effectivement dupliquer un dépôt distant ! Elle vous sera utile si vous avez configuré le logiciel donc, c’est à dire si dans ce tuto vous avez opté pour l’option « renard rusé » ! Si c’est le cas, continuez l’expérience en vous rendant directement sur
l’étape 3 – option 2 !
5 > Les différents type d’adresse de votre dépôt, qui vous seront là aussi nécessaire pour le dupliquer, surtout si vous avez choisit l’option « geek ». Ou si vous êtes sur MAC ou sur Linux ! Dans ce cas, rendez-vous directement sur l’étape 3 – option 1 !

Option 2 – La suite : Configurer son logiciel GitHub

Les premières étapes sont relativement simple :

La première étape de l'initalisation est de se connecter au dépôt distant

La première étape de l’initalisation du logiciel

La première étape est simple, permettez au logiciel de s’identifier pour accéder à votre compte GitHub en lui donnant votre couple login / mot de passe, et identifiez-vous.
L’étape suivante, « Configure« , vous permet de constater que vous êtes bien connecté au bon compte, et l’étape « Repositories » vous permet de sélectionner le dossier par défaut dans lequel git va versionner chacun de vos projets. Par exemple lorsque vous déciderez de créer un nouveau dépôt via l’interface du logiciel, l’ensemble des fichiers de versionning seront créés dans le dossier sélectionner, dans un répertoire au nom de votre projet. Soyez rassuré, rien n’est figé dans le marbre, vous pourrez ultérieurement modifier ces données via le menu « paramètres ».

mail github

A l’issue de votre inscription, vous devriez recevoir un mail pour confirmer la jonction entre les deux dépôts.

Et Voilà ! Une fois que vous aurez reçu votre mail, (vous en recevrez un pour chaque machine sur laquelle vous installerez le logiciel), vous pourrez importer vos différents dépôts git distants.

SSH Keys with pass phrases are not supported by GitHub for windows. You can try switching the remote to https

Message si vous essayer de synchroniser sans avoir reçu le mail avec sa clé SSH. Soyez donc un minimum patient !

Voici la marche à suivre pour importez vos projets distants :

Etape 3 – option 2 : Importer un projet distant, le retravailler, le synchroniser, le supprimer !

capture d'écran du logiciel github une fois initialisé

Une fois initialisé, vous n’avez projet en local. Il va falloir les cloner pour qu’ils soient là !

1 >Comme son nom l’indique, « local », désigne votre machine.
2 > +add et « Create one » vous permette de créer un projet directement sur votre machine (que vous pourrez ensuite transposer sur GitHub, mais notre exemple va davantage se concentrer sur le 3), c’est à dire les projets distants, sur GitHub (ici, avec le pseudo accolé).

En cliquant sur l’entrée « GitHub », vous accéder donc à la liste des dépôts que vous avez à distance.

Comment importer un projet GitHub

à partir de la liste de vos projets distants, il est très facile de les dupliquer.

Pour les ajouter sur votre machine, c’est très simple, il vous suffit de cliquer sur le bouton « Clone ».
Celà vous duplique donc votre projet en local. Tout est relativement fluide. C’est bon, vous avez remplit votre mission, et vous pouvez déposer votre bandana de maître karatéka ! Pour voir en vrai les fichiers sur votre ordinateur, inutile de se prendre la tête, le logiciel à tout sous la main :

Afficher le répertoire du dépôt qui vient d'être dupliqué

Afficher le répertoire du dépôt qui vient d’être dupliqué

Et paf!, ça fait des Chocapic ! Vous n’avez plus qu’à éditez vos fichiers, les corriger, en ajouter, en supprimer… bref, comme d’hab quoi ! Après, pour mettre à jour, rendez-vous sur la « page » du projet, via le logiciel, et rafraîchissez la page si besoin (comme le navigateur, F5), puis cliquez sur le menu tout à droite sur « uncommited changes > Show ». Celà vous laissera l’option de commiter ! Voilà, c’est tout, je vous laisse explorer tout seul comme des grands ce logiciel suffisamment intuitif et ergonomique pour ne pas poser de problème aux moins adroits d’entre vous. Mais au cas ou le renard ne serait pas suffisament rusé voyez la doc (en anglais) : http://windows.github.com/help.html !

Etape 3 – option 1 : Importer un projet distant, le retravailler, le synchroniser, le supprimer !

Vous avez décidé de vous passer de ce carcan qu’est un logiciel pour vous concentrer sur la maîtrise de la ligne de commande. Bravo, c’est un choix qui se défend. Je ne trollerai pas sur le fait de savoir quel est la meilleurs solution ici. Voici simplement la marche à suivre. D’abord, lancer MSysGit, puis…

Cloner un dépot en ligne de commande sur windows

Cloner un dépot en ligne de commande sur windows

1 > Rendez-vous dans le répertoire de votre PC dans lequel vous souhaitez dupliquer le projet. Utilisez les commandes unix ls et cd pour vous repérer facilement.
2 > git clone est LA commande pour simplement dupliquer un dépôt là ou vous le souhaitez. A cette commande, joignez l’adresse du dépôt. C’est là que l’utilité de l’adresse laissé sur le site prend tout son sens. Choisissez SSH, c’est la version sécurisée. Il se peut qu’au sein d’une entreprise ou a cause d’un antivirus trop exigeant, vous soyez obligé de passer par du http. Dans ce cas là, il vous faudra systématiquement rentrer vos mots de passe et login, ce qui devient rapidement pénible…
3 > And « Voilà » ! Si vous vous rendez dans le dossier que vous avez choisit, vous verrez votre projet, accompagné de son petit dossier git qui contient tout les logs de versionning ! Mission réussit en 2 lignes de commandes !

Maintenant, pour modifier vos deux dépôt, il suffira de faire des « push » sur « master », tout simplement ! Comme prévenu, vous devez être habitué à la manipulation de git pour ce faire !
Mais comme je ne suis pas ingrat, voici les lignes de commandes les plus simples, mais essentielles pour faire un peu de git, en mode « geek » :

git status //Permet de lister les fichiers et dossiers, et ainsi de voir lesquels ont besoin d'être commité, pushé, etc.
git add nom_du_fichier.ext //Permet d'ajouter un fichier ou un dossier à un dépot.
git commit -m "commentaire entre quotes" nom_du_fichier.ext //Permet de mettre un fichier / dossier sur le dépôt
git push origin master //Permet de fusionner la branche locale et distante. Le premier paramètre "origin" ciblant le "remote", c'est à dire le serveur distant (GitHub en l’occurrence), Le second paramètre une référence locale, et en général c’est une branche (en général master). Si vous ne p 

Ce sera tout pour aujourd’hui ! Il vous reste plus qu’à geeker, à coder heureux et avoir de nombreux petits projets !
Un petit guide pratique pour la manipulation de git (traduction de l’anglais) :
http://rogerdudler.github.com/git-guide/index.fr.html
Merci à Pierre pour son aide tout au long de mon apprentissage de Git !



Un commentaire pour “GitHub sur windows, le guide facile !”

  • Hi à toi,
    Super ton tuto, merci.
    J’ai un dépôt qui peut donc être téléchargé en entier dans un .zip, et je me demandais s’il est possible d’avoir un lien de téléchargement d’un fichier singulier contenu dans son dépôt et non le projet en entier et/ou sans le format zip?

    Merci et vive l’open source!

Laissez un commentaire