Dynamic-Mess.com


"The world is a dynamic mess of jiggling things..."

Débuter avec Git et Github

Article posté le 05-03-2014 dans la catégorie Développement

Depuis plusieurs années, Github par ci, Github par là... Devenu à la mode grâce à une utilisation simplifiée (et encore), l'usage de stockage décentralisé et de gestion des versions de vos développements, idéal pour le suivi des versions et le travail collaboratif, est à présent à la portée de tous. Petit tour d'horizon.

1- Git

A- Définition

Git est un logiciel de gestion de versions, décentralisé. Conçu afin d'être utilisable sur les petits projets comme sur ceux de plus grande envergure, il trouve son origine chez les développeurs Linux, au milieu des années 2000.

A la différence de ses homologues comme SubVersion, Git fonctionne de manière décentralisée, c'est à dire que chaque membre de l'équipe peut développer dans son coin (plus la peine de produire sur un serveur commun). Ensuite, une fusion (mot-clef : Merge ) permet d'assembler les différents morceaux de codes (mot-clef : Dépôt ou Repository) sur le serveur commun.

Git est ainsi un système de contrôle des versions. Chaque projet est une série de modifications du projet initial (mot-clef : Commit).

Git fonctionne en local sur la machine du développeur. Une solution permettant de centraliser tout cela serait bien entendu d'utiliser un serveur, ou d'utiliser Github.

B- Installer Git

Si vous souhaitez juste installer Git, rendez vous à l'adressse http://git-scm.com/ afin de télécharger l'installeur. Lors de l'installation, choisissez d'utiliser le "Git Bash" comme système de gestion des lignes de commandes.

2- Github

A- Définition

Github est un site communautaire qui permet de publier et de gérer ses projets (chacun ayant son propre dossier, mot-clef : Repository), et de pouvoir collaborer facilement avec d'autres développeurs.

Si vous utilisez un compte gratuit, tous vos repositories sont publics, donc accessibles à tous (pour les consulter, pas les modifier). Si vous utilisez un compte payant, vous pouvez les mettre en mode "privé".

B- Installation de GitHub

Par défaut, il n'y a rien à installer hormis Git (voir plus haut). Mais il existe à présent un client qui permet de gérer nos repositories de manière plus... "user-friendly", autrement dit avec une interface graphique plutôt qu'avec ces abominables lignes de commande. Il est téléchargeable à l'adresse suivante pour la version Windows : http://windows.github.com/. Je vous invite donc à installer le client et à vous créer un compte sur Github. Néanmoins, j'ai déchanté lors d'un crash de ce client. Je vais donc vous expliquer aussi les rudiments de l'utilisation en ligne de commande.

C- Utilisation du client

C-1 Client graphique

La première chose à faire une fois votre compte créé et le client lancé, et de créer un repository. Soit vous pouvez le faire en cliquant sur "Create", soit en faisant un glisser-déposer du dossier contenant vos sources dans le logiciel. Je préconise cette dernière option. 

Le client vous demande alors de confirmer le nom de votre repository, mais aussi de choisir une option publique/privée, ou encore de le mettre en ligne sur GitHub. Laissez tout par défaut et validez.

A présent si vous allez dans votre espace sur github.com, vous verrez que votre répository a été crée. Mais il est vide, il ne contient pas de fichiers. En effet, allez dans le client, ouvrez votre projet. A gauche, vous devez saisir les informations sur ce dernier, avant de pouvoir cliquer sur "Commit to master". Vous venez de faire votre premier "commit".

A présent, il faut le synchroniser pour le mettre en ligne. Comme vous pouvez le voir, il se trouve maintenant à gauche dans "Unsynced commits". Cliquez alors sur "Publish" en haut à droite. Voilà, cela synchronise. Attendez un peu et retournez dans votre espace sur le site github.com, vous verrez vos fichiers.

C-2 Client en ligne de commandes

Tout d'abord, pour faire simple, créez votre repository directement depuis l'interface du site Web. Appelons-le myTest pour l'exemple. Ne fermez pas la page.

Lancez-ensuite le git shell. Par défaut (si vous avez rien touché de particulier à l'installation), les commandes sont de type Unix. Pour rappel :

cd //permet de remonter d'un répertoire (vers le répertoire supérieur)

 

cd monRepertoire //vous positionne dans le répertoire monRepertoire

 

ls //liste le contenu du répertoire courant (équivalent de dir sous Windows ou MSDOS)

Avec tout cela, vous pouvez vous positionner dans un répertoire myTest que vous avez créé sur votre poste. Ce répertoire doit être vide. Tapez à présent :

git init

et vous aurez pour réponse :

Initialized empty Git repository in

Vous remarquerez qu'un fichier ".git" est apparu dans votre dossier.

A présent si vous faites un

git status

vous aurez pour réponse :

nothing to commit

Et c'est normal car on a pas de fichier dans notre dossier. Créez-en un, par exemple "index.php". Si vous refaites la commande, vous aurez droit cette fois à :

nothing added to commit but untracked files present (use "git add" to track)

et vous aurez remarqué qu'il a listé les (le en l'occurence) fichier dans le répertoire. Donc il faut à présent l'ajouter à la liste de commit. Mais tout d'abord, revenez sur votre page de votre répository dans votre espace github. 

Vous devriez avoir un code comme ceci :

git remote add TOTO https://github.com/votrePseudo/mytest.git

Remplacez TOTO par ce que vous voulez, et exécutez cette commande dans la console GIT.

Maintenant, il faut ajouter notre fichier à la liste de commit :

$ git add index.php //Permet d'ajouter le fichier spécifié. "git add ." fait un ajout de tous les fichiers du répertoire courant

Vous pouvez ensuite taper ceci :

git commit -m “mon premier commit”

puis ceci :

$ git push -u myTest master

Et votre upload se fait. Allez dans votre repository sur le site, le fichier apparait.

 

4- Diverses opérations et questions

1- Comment supprimer un repository?

Dans votre repository sur github.com, cliquez à droite sur "Settings", puis tout en bas sur "Delete this repository".

2- Comment rendre un repository privé?

Il faut que vous ayez un compte payant. Vous pouvez soit le rendre privé à la création, soit le modifier en tant que tel, en allant dans le repository sur votre espace github.com, puis "Settings", et "Make this repository private"

3- Rendre un autre membre propriétaire du repository?

Voir question précédente, c'est au meme endroit.

4- Comment empêcher la publication de certains fichiers ou dossiers?

Si vous souhaitez ne pas publier certains fichiers, comme ceux de votre IDE, sachez que par défaut gitHub s'en occupe lui-même pour beaucoup d'entre-eux. Cependant, si vous souhaitez en spécifier d'autres, sachez qu'à la racine de votre répository, se trouve un fichier nommé ".gitignore". Editez le en local, puis synchronisez le pour que les modifications soient prises en compte ultérieurement. Dans ce fichier, rajoutez une ligne :

monDossier/

si vous souhaitez ne pas mettre en ligne le dossier "monDossier".

5- Supprimer un fichier sur github?

Pour supprimer un fichier déja en ligne, allez dans votre repository depuis votre espace sur github.com. Cliquez sur le fichier en question, puis sur "Delete" en haut à droite.

5- Récapitulatif des principales commandes

Saisissez git suivi de la commande suivante :

Voila pour l'essentiel, pour le reste, l'aide se trouve ici https://help.github.com/ pour continuer à avancer. Je continuerai d'étoffer cet article à l'occasion.


Tweet
comments powered by Disqus