HowTo GitHub

L’utilisation de GitHub n’étant pas triviale, j’ai décidé de réunir ici mes découvertes quant à ce service et la façon de l’utiliser (ce document sera mis à jour au fur et à mesure donc).

Remarque: GitHub a sorti un petit test grandeur nature pour mieux connaitre GitHub… Et c’est à essayer sur http://try.github.com/

Commencer

Il faut d’abord vous créer un compte, puis suivez le tutoriel qui est simple: http://help.github.com/set-up-git-redirect.

A savoir – Git est sensible à la case, cela signifie que les majuscules/minuscules sont importantes dans votre pseudo.
A savoir – Il vous est demander de créer une passphrase : il faudra vous en rappeler car vous l’utiliserez à chaque push et autres commandes.

Créer un dépôt (repository)

Vous pouvez commencer par lire le guide de GitHub mais il devient vite confus…

A savoir – Git est sensible à la case, cela signifie que les majuscules/minuscules sont importantes dans votre nom de repository.

Par défaut vous allez créer une branche appelée master. Typiquement c’est là où vous allez mettre vos sources.
Mais sachez qu’il est possible de faire héberger des pages par GitHub. Cela peut être la documentation de l’API que vous avez mis dans master, ou un site de présentation du projet que vous proposez (exemples avec http://twitter.github.com/bootstrap/ ou encore http://aymkdn.github.com/SharepointPlus/).

De fait, avant de lancer la commande git init comme indiqué dans le tutoriel (1. Create the README file), il va falloir vous assurer que vous êtes dans le bon répertoire !
Prenons l’exemple de SharepointPlus :

Actuellement sur mon ordinateur j’ai deux répertoires :
→ disons D:/Dev/API/SharepointPlus/ où est stocké mon fichier sharepointplus-x.x.js et mon fichier changelog;
→ et un autre répertoire D:/Doc/Auto Generate/SharepointPlus/ avec index.html et toute ma documentation.

Tout ce qui concerne les fichiers API JavaScript seront stockés dans ma branche par défaut (master).

Donc la commande git init doit être faite dans le répertoire D:/Dev/API/SharepointPlus/. Vous pouvez maintenant continuer à suivre le tutoriel de GitHub.

A savoir – Le fichier README sera lu directement par GitHub lorsqu’on visualisera votre repo. Si vous voulez le mettre en forme, alors il faut lui rajouter l’extension .md (MarkDown). Vous pouvez créer d’autres fichiers avec l’extension .md (example) : tous ces fichiers utilisent une syntaxe qui leur est propre et qui est décrite dans http://github.github.com/github-flavored-markdown/ et sur http://daringfireball.net/projects/markdown/basics.

Créer des pages hébergées par GitHub

On a donc créé notre dépôt et on a créé une branche master pour nos scripts.
Maintenant on souhaite héberger quelques pages, et pour cela je vous invite à lire le guide de GitHub.

Comme vous allez le découvrir, il faut créer une nouvelle branche, qui se nomme gh-pages et qui contiendra nos fichiers HTML (avec un index.html à la racine).

Dans mon exemple précédent, je vais donc devoir me mettre cette fois dans le répertoire D:/Doc/Auto Generate/SharepointPlus/ avant de lancer la commande git symbolic-ref HEAD refs/heads/gh-pages

Là encore le site n’est pas forcément très clair, donc voici les commandes qu’il faudra taper :

git init
git symbolic-ref HEAD refs/heads/gh-pages
git add .
git commit -m 'first commit'
git remote add origin git@github.com:VOTRE_USERNAME/NOM_DU_REPOSITORY.git
git push origin gh-pages
Vous remarquerez que dans le bash de Git, lorsqu’on est dans une répertoire lié à un compte GitHub, on va voir entre parenthèse le nom de la branche. Par exemple pour gh-pages je verrai D:/Doc/Auto Generate/SharepointPlus/ (gh-pages)

Envoyer des fichiers dans le dépôt

Il y a trois commandes à retenir.

  1. git add file1 file2 ... : ajouter tous les fichiers que vous souhaitez envoyer
  2. git commit -m "description" : indiquer grâce à « description » les modifications que vous avez effectués
  3. git push origin master : « master » est le nom de la branche (ça peut donc être aussi « gh-pages » ou autre)
Astuce – vous pouvez utiliser le point (.) avec la commande add pour ajouter tous les fichiers du répertoire courant.

A noter que tous les commandes Git sont disponibles dans cette cheat sheet.

Modifications distantes

Éditer en ligne

Saviez-vous qu’il est possible d’éditer directement en ligne ses fichiers ? Il suffit d’aller dans son dépôt et de visualiser un fichier. Vous verrez un « Edit » dans les menus.

Récupérer localement les modifications distantes

Si des fichiers de votre dépôt ont été modifiés (par vous ou quelqu’un d’autre), vous pouvez simplement récupérer simplement ceux-ci en local grâce à la commande git pull (qui est l’équivalent de la commande git fetch suivie par un git merge origin/master). Cela va avoir pour effet de fusionner vos fichiers locaux avec ceux qui sont dans le dépôt distant (branche master).

Si jamais le système n’est pas capable de fusionner (merge) deux fichiers ensembles (par exemple dans le cas où vous avez modifié la même ligne dans les deux fichiers), alors il va y avoir un conflit et vous devez le gérer manuellement :

CONFLICT (content): Merge conflict in xxxxx
Automatic merge failed; fix conflicts and then commit the result.

Pour gérer ce conflit, vous devez d’abord installer Beyond Compare 3 (bc3). Je précise que le programme est gratuit en mode standard (mais, une fois installé, vous pouvez débloquer des fonctionnalités en l’achetant et en passant alors en PRO). Selon là où vous l’installez vous devrez peut-être configurer le chemin d’accès (path). Si vous ne faites pas cela, alors à la commande git mergetool vous aurez l’erreur suivante :

libexec/git-core/mergetools/bc3: line 9: bcompare: command not found

Pour résoudre ce problème, vous devez configurer le path vers le fichier bcompare; tapez dans la console git les commandes suivantes (pensez à mettre votre path vers le fichier) :
git config --global merge.tool bc3
git config --global mergetool.bc3.path "c:/program files/beyond compare 3/bcomp.exe"

Une fois « Beyond Compare » installé et configuré, alors retapez la commande git mergetool qui va vous ouvrir le programme et vous pourrez parcourir votre fichier et faire les modifications nécessaires.

Autres ressources

Comprendre GitHub
Toutes les commandes Git en français

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

*