Utiliser Git sous Mac OS X

Ce post décrit les différents étapes pour installer, configurer et utiliser git sous Mac OS X.

Étape 1 : Installation de git

L’installation de git peut être effectuée en téléchargeant le package compilé à ce lien. Un double clic sur le fichier téléchargé devrait permettre l’installation complète de git (non testé).

A priori, cette étape suffit, néanmoins, pour des facilités d’utilisation (particulièrement si vous êtes allergique à la ligne de commande), vous aurez peut-être envie d’installer également une interface graphique git (git est normalement installé avec une interface graphique minimale mais très utile, gitk). La liste des clients graphiques git est disponible à ce lien. Pour ma part, je décrirai à la fin de ce tutoriel comment utiliser git avec RStudio (desktop) qui est fréquemment utilisé par les statisticiens.

Étape 2 : Configuration de git

La configuration de git consiste essentiellement à indiquer un nom d’utilisateur et un email pour identifier les messages de commit. Je choisis aussi généralement “nano” comme éditeur de messages par défaut (plus simple que VI). Pour cela, il suffit de taper dans un terminal :

git config --global user.name "Tuxette Chix"
git config --global user.email "tuxette@myserver.org"
git config --global core.editor nano

Étape 3 : Configurer son premier dépôt

Si le dépôt est accessible via une clé ssh (et non par login/mot de passe)

Il faut créer sa clé… Cette étape se fait en entrant les lignes de commandes suivantes dans un terminal :

ssh-keygen -t rsa

Vous pouvez utiliser l’emplacement par défaut proposé par le programme de génération ou bien en fournir un nouveau. Dans tous les cas, retenez bien le chemin indiqué pour retrouver votre clé. Généralement (non testé), la clé est enregistrée à ~/.ssh/id_rsa. Dans ce cas, cela signifie que deux fichiers ont été générés :

  • le fichier ~/.ssh/id_rsa qui est la clé privée et ne doit être en aucun cas copiée ou diffusée ;
  • le fichier ~/.ssh/id_rsa.pub qui est la clé publique et doit être fournie au gestionnaire du dépôt git pour configuration de votre accès.

Avant toute utilisation du dépôt, la clé ssh doit être activée par la ligne de commande :

ssh-add ~/.ssh/id_rsa

Normalement, cette commande est nécessaire à chaque nouveau démarrage de session ou de la machine (non testé).

Rapatrier le dépôt

Une fois les accès (login+mot de passe ou clé ssh) correctement configurés, on peut rapatrier (c’est-à-dire clôner) son premier dépôt. Le gestionnaire du dépôt vous fournit l’URL du dépôt et vous pouvez alors taper la ligne de commande :

git clone gitolite@gitserver.com:project.git project

(dans cet exemple, gitserver.com est le nom du serveur git qui utilise ici une configuration via gitolite et project.git est le nom du projet à clôner ; project est le nom du dossier local dans lequel vous voulez clôner le projet).

Étape 4 : Utiliser son dépôt

L’utilisation de base peut être effectuée via un terminal de manière très simple. Il suffit de se déplacer jusqu’à l’intérieur du dossier project. Pour visualiser ce qui se passe, la commande

gitk &

ouvrira le logiciel gitk et permettra de voir l’état des différentes versions de manière simple. L’utilisation comporte généralement 3 étapes :

  1. enregistrer localement les modifications effectuées sur les fichiers
    git commit -a
    

    Un message décrivant les modifications (généralement une courte ligne) est demandé.

  2. rapatrier les versions envoyées sur le serveur par les autres utilisateurs
    git pull
    

    Si des conflits d’édition ont été repérés, git indique dans quel fichier ils se trouvent : il faut alors éditer ce fichier et identifier les balises permettant de montrer les différences entre versions. Une fois les conflits réglés, on peut alors valider la fusion par

    git commit -a
    
  3. envoyer la fusion des différentes versions sur le serveur
    git push
    

    (ou en cas de message d’erreur)

    git push origin master
    

Étape 5 : Git et RStudio

Pour gérer son projet git avec RStudio, il suffit de créer un nouveau projet RStudio correspondant au dossier project après l’avoir clôné. Une icône “Git” apparaît alors dans la barre d’outils qui donne accès à une interface graphique pour Git.