Mettez votre Git à jour

Si vous êtes développeur, quels que soient le language et les outils que vous utilisez, vous faites du “version control”.

Et bien qu'il existe d'autres solutions, Git est de nos jours le choix le plus répandu.

Une importante faille de sécurité a été découverte dans Git récemment.

Il est important de faire la mise-à-jour, mais j'en avais assez des manipulations avec les installeurs, donc je suis passé à la version donnée par Homebrew.

Homebrew

Homebrew est un excellent outil pour gérer l'installation d'applications en passant par la ligne de commande.

Pour installer Git c'est très simple :

brew update
brew install git

et la variante pour faire la mise-à-jour si Git est déjà installé avec Homebrew :

brew update
brew reinstall git

Path

Le truc c'est que même si votre Git est à jour avec Homebrew, il y a des chances que votre Mac utilise toujours une autre version selon votre configuration.

Vérifiez votre version :

git --version

Vous devez obtenir git version 2.2.1 ou supérieur.

Sinon, c'est probablement la faute à votre PATH, c'est-à-dire que dans votre Terminal (ou iTerm, etc), bash (ou zsh, etc) a dans sa configuration une route vers un autre git qui fait précédence.

Ouvrez donc avec un éditeur de texte le fichier ~/.bash_profile (~/.zshrc pour zsh et ~/.bashrc pour bash sous Linux) et trouvez la ligne qui contient PATH=.

Ca doit ressembler à quelque chose du genre :

PATH=/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin:$PATH

Vous devrez donc supprimer de cette ligne la partie qui fait référence à l'autre installation de Git, par exemple /usr/local/share/git (mais ça varie selon les installations).

Rechargez bash/zsh en fermant/rouvrant le Terminal ou en faisant source ~/.bash_profile (ou source ~/.zshrc, etc).

Désormais l'emplacement contenant l'autre binaire de Git sera ignoré, et celui installé par Homebrew dans /usr/local/bin prendra précédence.

Autre

Si votre PATH ne fait pas référence à une autre installation de Git (vérifiez bien) mais que vous obtenez toujours une ancienne version même après avoir fait la mise à jour avec Homebrew, faites which git et vous obtiendrez l'emplacement du binaire fautif.

Temporairement, au lieu de le supprimer, renommez-le avec les droits root :

sudo mv /path/to/old_git/bin/git /path/to/old_git/bin/git_old.bak

et faites pointer à sa place un lien de la nouvelle version :

ln -s /usr/local/bin/git /path/to/old_git/bin/git

Ou toute autre manipulation du même type, selon votre installation.

Si ça marche, n'oubliez pas d'effacer l'ancien :

sudo rm /path/to/old_git/bin/git_old.bak

pour ne pas laisser traîner un binaire faillible sur votre système.

Maintenance

L'avantage d'une installation de Git avec Homebrew c'est que désormais je suis certain que Git sera souvent mis à jour, étant donné que je fais régulièrement une petite séquence à peu près comme ceci :

brew update && brew upgrade && brew doctor

qui permet de garder tout ce beau monde à jour, sans plus avoir à se soucier des versions ni à télécharger des installeurs contraignants.

Auteur: Eric Dejonckheere