Git, Version, Github, Mac – Utiliser Git, les premiers pas
On parle souvent de Git dans le développement, pour garder la trace de tous les changements et modifications faites par une personne seule ou en collaboration avec d’autres. Toutefois, l’usage de ce type d’outil peut être étendu à toute activité qui réclame un minimum de suivi en raison de sa fonction première qui est d’historiser. Par exemple, si vous écrivez un livre, un scénario, une documentation, des articles… Vous faites nécessairement des versions, que vous faites parfois relire, corriger, changer. On peut donc tout à fait utiliser Git comme un outil collaboratif, fiable et sûre, en local et en ligne de gestion et de publication.
On va donc voir comment appliquer les principes vantés par Git non pour un travail de développement mais un travail éditorial. A première vue, l’utilisation d’un outil comme Git
peut sembler disproportionnée et ardue dans la prise en main mais cela rendra des services indéniables si vous entamez une activité sociale, collaborative… bref moderne.
Pour mémoire, on avait tenté l’expérience avec Versions mais Git devient désormais le standard. En effet, dans le monde du développement et au-de-là, il y a clairement un abandon des logiciels comme versions ou bien tortoise pour gérer de code d’un site web ou d’une application. Git s’impose comme la solution pour gérer un “repository”, gérer des “forks”, des branches et collaborer avec d’autres personnes.
On se contentera de présenter les commandes principales pour versionner des fichiers en local. La partie “sharing” est une partie importante cela va sans dire mais on cherche d’abord à bien maitriser en local une telle démarche.
La voie rapide : Installer le client graphique Git sur Mac
Vous pouvez installer le client graphique pour avoir Git mais notre version de mac OX est trop ancienne. En effet, il faut à minima un mac sus OS X 10.7 or later
Source : http://mac.github.com/
On va donc choisir une autre voie, via le terminal et l’utilisation de lignes de commande.
Installer Git sur Mac
L’installation est assez simple, il suffit de télécharger et d’installer.
Source : http://git-scm.com/download
Explorer un nouveau logiciel, c’est comme recoller des chaussures à la super glue, il vaut mieux nettoyer le surface sur laquelle, on va faire le collage. Pour appréhender Git, on va faire de même et donc préparer un répertoire bien propre que nous allons contrôler via Git, on donnera my_book_project
à ce répertoire.
cd /[the_path_to_your_git_dir]/git_case/[name_git_dir]/
Un conseil, comme dans l’écriture d’un script où il est toujours souhaitable de documenter en commentant, la fonction de commit permet de garder la trace à l’aide d’une description pour chaque commit des modifications qui ont pu être faites. C’est une très bonne pratique.
Connaitre la version de Git installé
git --version
Le répertoire est bien pris en compte par Git après la commande git init my_book_project
. On s’en rend compte en se rendant dans le répertoire via la commande cd my_book_project
et en faisant un ls -al
On regarde le statut de notre “master” git status
On rajoute un fichier mate chapter_1.txt
On regarde à nouveau le statut git status
On ajoute le premier fichier git add chapter_1.txt
et on effectue le premier commit git commit -m "Premier commit pour mon chapitre 1"
Le premier commit a bien modifié le log git log
On modifie à nouveau le fichier
Via un git status
, on voit bien que le fichier a été modifié
On rajoute cette fois-ci un plus grand nombre de fichiers
Toutes les commandes les unes à la suite des autres sur deux séquences assez simples.
Séquence 1 : Modification du fichier chapter_1.txt en vue du deuxième commit
mate chapter_1.txt |
git status |
git add chapter_1.txt |
git commit -m "Deuxième commit pour mon chapitre 1" |
git status |
git log |
Séquence 2 : Ajout d’une multitude de fichiers chapter_2.txt, chapter_3.txt….etc.
git add . |
git status |
git commit -am "second commit pour mon fichier avec une multitude de fichiers chapter_2.txt, chapter_3.txt....etc" |
git status |
git log |
Faire en sorte que le répertoire ne soit versionné
rm -rf .git |
git rm -rf my_book_project |
Retour en arrière, let’s roll back
Disons que vous souhaitez revenir sur le dernier commit, il suffit d’exécuter la commande suivante. Dans notre exemple, cela aura pour effet de supprimer tous les fichiers ajoutés lors de la Séquence 2 ci-dessus.
git reset --hard HEAD~1 |
Personnaliser Git : les premiers secours
Il faut tout d’abord paramètrer votre compte utilisateur.
git config --global user.name "bflaven" |
git config --global user.email bflaven@xxx.xxx |
Ensuite, vous pouvez paramètre votre éditeur favori
git config --global core.editor emacs |
Par exemple, si vous utilisez textmate comme éditeur par défaut, vous pouvez passer la commande suivante :
git config --global core.editor "mate -w" |
Source : https://help.github.com/articles/using-textmate-as-your-default-editor
Pour vérifier vos modifications
git config --list |
Pour vérifier un paramètre spécifique
git config user.name |
Pour changer la couleur de certains paramètres
git config --global color.diff auto git config --global color.status auto git config --global color.branch auto |
La vidéo essentielle
Inutile de lire un grand nombre d’articles, cette video extrêmement synthétique présente l’essentiel de ce qu’il faut savoir sur Git
.
Pour information, il est maintes fois question de GUI
(Graphical User Interface) qui se prononce "gooey"
donc lorsque Matthew McCullough évoque les "gooey"
, il parle d’IHM et non de la province chinois de Guizhou (贵 Guì) !
Conclusion : dans cette article, on a totalement négligé l’aspect social de Git via GitHub, c’est à dire le partage de code. On s’est concentré sur les aspects les plus basiques et les plus intuitifs de Git. On peut vite comprendre l’intérêt à utiliser Git dans des projets pas seulement informatiques mais éditoriaux, oui vous avez bien entendu. Celui qui n’a jamais écrit un livre, un scénario, une documentation ne peut sans doute pas comprendre… Mais Git vous sera d’une grande aide si vous rédigez quoique ce soit qui nécessite de versionner en clair de garder a trace des modifications et des évolutions apportées au fil de la rédaction.
En savoir plus
- Matthew McCullough maintains a great list of Git GUIs
https://delicious.com/matthew.mccullough/git,gui,macosx - Git: remove, reset and rollback commits
http://ariejan.net/2011/09/08/git-remove-reset-and-rollback-commits/ - The easiest way to use GitHub on Mac.
http://mac.github.com/ - 1.5 Démarrage rapide – Paramétrage à la première utilisation de Git
http://git-scm.com/book/fr/D%C3%A9marrage-rapide-Param%C3%A9trage-%C3%A0-la-premi%C3%A8re-utilisation-de-Git - git-osx-installer
https://code.google.com/p/git-osx-installer/downloads/list - Getting Started with Git on Mac OS X
http://shaun.boyblack.co.za/blog/2009/03/14/getting-started-with-git-on-mac-os-x/ - Installer et configurer Git
http://fr.openclassrooms.com/informatique/cours/gerez-vos-codes-source-avec-git/installer-et-configurer-git - The easiest way to use GitHub on Mac.
http://mac.github.com/ - Working with Git on OS X
http://guides.beanstalkapp.com/version-control/git-on-mac.html - The entire Pro Git book, written by Scott Chacon
http://git-scm.com/book/fr - The Best Mac Git Gui
http://blog.harrywolff.com/the-best-mac-git-gui/ - Webcast – The Basics of Git and GitHub
http://www.youtube.com/watch?v=U8GBXvdmHT4