Rapide benchmarks de clients Git pour Linux (et un peu Windows et Mac aussi)

Image : tutoriel Hostinger

Je suis habitué à SourceTree sur Windows et Mac, malheureusement il n’y a pas de version Linux.
Ce que j’apprécie particulièrement dans SourceTree :

  • Il me fait pas chier. Depuis quelques années Atlassian a ajouté un « login with Atlassian » obligatoire mais ensuite pas de mises à jour intempestives, pas de licences avec des fonctions différentes (free / premium), pas de changement majeur dans l’interface
  • Pas énormément de bugs (en tout cas, depuis 2/3 ans, ça s’est calmé)
  • Traduction FR correcte
  • Très bonne visibilité des modifs dans le code
  • Toutes les fonctions semblent tomber naturellement sous la main (ok, c’est ce que diront les habitués à n’importe quelle interface, mais là c’est vrai qu’il n’est quasiment jamais nécessaire d’aller fouiller dans les menus pour trouver ce dont on a besoin).
  • Raccourcis « Révéler le dossier » (ouvrir le repo dans l’Explorateur ou le Finder), et « Ouvrir dans le Terminal » toujours sous la main.
  • Manque un raccourci « Ouvrir dans <éditeur favori> » mais facilement configurable avec un raccourci clavier.

Mais :

  • Gestion des submodules merdique
  • Autorefresh aléatoire
  • Manque de fluidité pour passer à l’affichage « tree view » (arborescence)
  • Se met parfois à mouliner sans trop de raison apparente, même sur de petits repos
  • Manque un bo

SourceTree est mon mètre étalon dans les tests, je pars à la recherche de son digne successeur pour mon Pop!_OS.

Test effectué en avril 2021, de manière très rapide sur une reprise de projet existant dans une nouvelle branche.
Un des critères essentiels est le feeling (i.e. si c’est moche ou que l’éditeur a l’air merdique, ça commence mal).

Pour trouver mes cobayes j’ai tout simplement tapé « git » dans le Pop!_Shop :

Puis j’ai parcouru les clients officiellement reconnus (https://git-scm.com/download/gui/linux)

Et pour les autres, Google is my friend.


GitAhead

https://gitahead.github.io/gitahead.com/

Pros :

  • Belle interface
  • Gratuit
  • Pas d’inscription, de compte à créer
  • Interface proche de SourceTree

Cons :

  • English only
  • Pas trouvé de raccourci « Révéler le dossier » (ouvrir Nautilus dans le dossier du repo)
  • Pas trouvé de raccourci « Ouvrir dans le Terminal »
  • Pas trouvé de raccourci « Ouvrir avec <éditeur favori> »
  • Quelques bugs fonctionnels et d’affichage
  • C’est regrettable de devoir choisir entre la vue diff OU la vue de l’arborescence, moi j’aime bien avoir les deux
  • La taille et la position de la fenêtre ne sont pas conservés entre deux lancements de l’app

Du coup je me suis arrêté là (pas d’utilisation vraiment concrète).

L’écran d’accueil est vraiment moche, mais pratique quand on a oublié ses lunettes

La vue de base est jolie, pratique, claire (même en dark mode) (haha)

Historique des commits en vue compacte, pratique.
Par contre la vue arborescente n’est pas terrible.
D’autant plus que dans mon arborescence, il y a tout ça :
Mais pourquoi diable toute l’arborescence n’apparaît-elle pas dans la vue arborescente ?!

Pas mal d’options, à peu près autant que dans SourceTree

Alors que j’ai bien installé Meld (outil de diff) et qu’il apparait dans la liste des outils supportés, mon installation n’est pas détectée je ne peux pas le choisir, ni même l’ajouter manuellement

Conclusion
Je me le garde sous le coude, mais je ne suis pas super convaincu.
Peut-être que ce qui manque existe, mais avec SourceTree je n’aurais pas eu à chercher.


Git Cola

https://git-cola.github.io/

Pros :

  • J’aime bien le nom

Cons :

  • Plante dès l’ouverture d’un repo

Conclusion
Client non utilisable sous Pop!_OS 20.10 / Gnome 3.38.
Je ne me suis pas acharné car les screenshots ne m’ont pas trop donné envie.


GitKraken

https://www.gitkraken.com/

Pros :

  • Je l’avais essayé il y a quelques années, et j’avais bien aimé (malgré le manque de features d’une version 0.x)
  • C’était une des premières interfaces « dark mode » et c’était pas mal
  • La présentation était un peu inhabituelle mais cohérente, il a toujours l’air très esthétique

Cons :

  • À l’époque il était lourd (Electron ?)
  • Je découvre avec effroi qu’il s’agit d’une démo (trial version)
    • Que je ne peux pas tester la démo sans créer un compte
      • Que dans la version gratuite, je ne pourrai plus travailler sur mes repos privés cloud ou self-hostés
        • Que la version payante n’est même pas une licence perpétuelle mais un putain d’abonnement !

Entendons-nous bien, je n’ai rien contre le fait de payer pour un logiciel.
En fait, c’est même mon métier.
Mais d’une part GitGraken s’est lancé en mode « on est enfin un client cool et alternatif, venez tous, on est sur GitHub c’est génial » et finalement quelques années plus tard on a une trial version dans des conditions restrictives. Not fair.

Clairement l’éditeur nous pousse vers sa Suite (boards, timelines), exposant ainsi un business model vampirique bien différent d’Atlassian, qui reste vraiment sobre quant à ses multiples autres activités dans SourceTree.

« Achetez mon logiciel et faites comme les GAFAM ! »

C’est-à-dire qu’à présent, même si le logiciel est super, je me sentirai pas très bien de l’utiliser. Comme un MacDo.

Création d’un compte obligatoire pour utiliser une application, c’est extrêmement dérangeant.
Prochaine étape dans 7 jours après le free trial : un paywall ?

C’est vraiment restrictif de pouvoir travailler que sur les projets locaux ou publics.

Oui oui vous avez bien lu

Vous connaissez l’expression « être pushy » ?
Parce que chez GitKraken, ils sont vraiment très pushy.

En l’espace de 30 secondes j’ai perdu 1 jour de trial.
Pushy, pushy, pushy !

Relativisons, je suis un professionnel et tout ce qui peut faire gagner mon équipe en productivité est bon à prendre.
La promesse d’une intégration poussée avec GitLab et GitHub m’intrigue, je franchis quand même le pas.

Première ouverture d’un repo et il continue encore à me casser les couilles

Bon, soit.
Je me dirige vers la seule fonction qui m’intéresse vraiment, GitLab self-managed, pour espérer synchroniser mes tickets avec mon client Git.

Et là, c’est le drame :

Le karma.

Et c’est ainsi que se terminent mes 7 jours 6 jours d’essai gratuit de GitKraken.

Conclusion
Merci et à jamais !
Malheureusement je sais déjà que je vais recevoir une masse d’e-mails de relance.


GitHub Desktop

https://desktop.github.com/

Pros :

  • Simple, léger, ne cherche pas à tout faire même le café
  • Interface sobre et immédiatement compréhensible
  • Fonctionne avec les repos non hébergés sur GitHub
  • L’éditeur n’est pas pushy à ce sujet
  • Pour les projets sur GitHub, interaction directe avec les pull requests
  • Gratuit

Inconvénients :

  • Très léger sur les fonctionnalités… juste l’essentiel
  • Pas de possibilité de résoudre un conflit avec un utilitaire externe ! Issue
  • Vues limitées

Alors c’est l’historique…

… OU les modifs

Une fonction sympa pour faire du cherrypicking en drag’n’drop

Heureusement on a l’éditeur ET le Terminal.
Mais quasiment aucune autre option?

Et on a aussi le Reveal bien pratique

Conclusion
GitHub Desktop est un bon petit client qui fait pas chier, pratique pour des petites opérations.
Malheureusement la navigation multi-projets n’est pas efficace (pensez 30-40 repos), et le manque de fonctionnalités poussées en me permettent pas d’en faire mon n° 1. Mais je le garde quand même !


SmartGit

https://www.syntevo.com/smartgit/

On rentre dans la catégorie poids-lourd.
A priori, il y a tout dans ce client !
Allez faire un tour sur la page What’s New pour un torrent de joie presque infinie.

Vue très complète, tout ce qui est nécessaire est visible au premier coup d’oeil (et même plus)

Je n’avais encore jamais vu un client avec autant de fonctionnalités Git intégrées.
En fait, il y en a même que je ne connais pas !


 

Au niveau réglages, là aussi il y a abondance.

Tout d’abord, une multitude d’outils intégrés :

Le diff bien sûr
Le résolveur de conflit (non testé)
Coloration syntaxique par langage

Parmi les réglages (impossible de tout montrer) :

Choix de l’agent SSH

Support de GitLab même en mode self-hosted
Malheureusement la seule application concrète que j’ai trouvée est ce bouton, j’aurais aimé pouvoir parcourir mes repos distants, éventuellement avoir un résumé de l’activité de mes collègues, des tickets…

Conclusion
C’est difficile de conclure alors qu’on a pas fait le tour. Mais il y a tellement de choses à voir que ça va me prendre un bout de temps. SmartGit est manifestement le couteau-suisse des clients Git. Il est dispo en licence annuelle à environ 70 $ ou en licence perpétuelle à 100 $. Ça peut être un bon investissement, mais il va falloir tester intensivement et qu’il soit parfait. En fait, un client un peu plus simple et moins cher, je l’aurais acheté, mais là la promesse est tellement grande que je ne peux pas céder à un achat d’impulsion.

Pour l’instant j’ai noté quelques petits trucs agaçants (pas d’exclusion d’un dossier complet à partir du click sur un fichier comme dans SourceTree, paramètres qui se remettent à zéro après chaque action, icônes de nav pas très lisibles, pas de traduction).

J’ai aussi noté que ma trial version expire le 28 mai, et il se trouve que c’est un jour spécial pour moi.
Dois-je y voir un signe ?


GitFiend

https://gitfiend.com/

On lit un peu « girlfriend » et c’est cool (ou « git fiente », et c’est dégueu). La promesse est ambitieuse :

A Git client designed for humans

Rien que ça.

D’entrée de jeu j’ai un bug pas très rassurant.

Et là… rien.

L’interface change un peu de la vue « Outlook » traditionnelle

Problème de perf : j’ai un gros diff de 12K fichiers, je reconnais que c’est pas courant, mais c’est long.
C’est le plus lent des clients testés pour l’instant.

Environ 1 minute pour afficher cet écran

Pas grand chose à se mettre sous la dent au clic droit

Conclusion
Si vous n’aimez pas GitHub mais que vous avez aimé GitHub Desktop, prenez ce client.
Il va à l’essentiel et ne vous fera pas chier.

Moi, je le désinstalle, mais je n’ai rien à lui reprocher.


Aurees

https://aurees.com/

Avec une baseline aussi accrocheuse que « Easy · Fast · Free », c’est difficile de résister à l’envie de l’essayer.

Zut. Essayons :

germain@mini1:~/Téléchargements$sudo apt install gtk-sharp2
(...)
OK

Bon.

germain@mini1:~/Téléchargements$ sudo apt install libcurl3
Lecture des listes de paquets… Fait
Construction de l'arbre des dépendances
Lecture des informations d'état… Fait
Aucune version du paquet libcurl3 n'est disponible, mais il existe dans la base
de données. Cela signifie en général que le paquet est manquant, qu'il est devenu obsolète
ou qu'il n'est disponible que sur une autre source
Cependant les paquets suivants le remplacent :
libcurl4:i386 libcurl4

OK OK :

germain@mini1:~/Téléchargements$ sudo apt install libcurl4
(...)
OK

germain@mini1:~/Téléchargements$ sudo dpkg -i AureesSetup-linux.deb
dpkg: concernant AureesSetup-linux.deb contenant aureesgit, problème de pré-dépendance :
aureesgit pré-dépend de libgconf2-4
libgconf2-4 n'est pas installé.

dpkg: erreur de traitement de l'archive AureesSetup-linux.deb (--install) :
problème de pré-dépendance - aureesgit non installé
Des erreurs ont été rencontrées pendant l'exécution :
AureesSetup-linux.deb


Ça commence à monter sévère.

germain@mini1:~/Téléchargements$ sudo apt install libgconf2-4
Lecture des listes de paquets… Fait
Construction de l'arbre des dépendances
Lecture des informations d'état… Fait
Aucune version du paquet libgconf2-4 n'est disponible, mais il existe dans la base
de données. Cela signifie en général que le paquet est manquant, qu'il est devenu obsolète
ou qu'il n'est disponible que sur une autre source

E: Le paquet « libgconf2-4 » n'a pas de version susceptible d'être installée

Putain de bordel de merde.
J’ai trouvé ça : https://zoomadmin.com/HowToInstall/UbuntuPackage/libgconf-2-4

germain@mini1:~/Téléchargements$ sudo apt install libgconf-2-4
Lecture des listes de paquets… Fait
Construction de l'arbre des dépendances
Lecture des informations d'état… Fait
libgconf-2-4 est déjà la version la plus récente (3.2.6-6ubuntu1).
libgconf-2-4 passé en « installé manuellement ».
0 mis à jour, 0 nouvellement installés, 0 à enlever et 18 non mis à jour.

Remix Denis Brogniart AH ! YTP - YouTube

Ainsi s’achève mon test d’Aurees.
Effectivement c’était « fast ».


Git Horizon

https://www.cycligent.com/git-tool

J’ai pas confiance, j’essayerai si je trouve pas mieux ailleurs.


Guitar

https://github.com/soramimi/Guitar

Les instructions d’installation sont en japonais.
Pour ne pas builder il y a une AppImage, je tente ça.


Flemme. Fin du test. Pas d’avis (mais l’interface a l’air très old school).


Vershd

https://vershd.io/

C’est une AppImage.

Un product tour assez bien fait et rapide au lancement

L’interface est… imposante.
Ça me fait le effet que quand Microsoft a sorti Windows XP avec le thème Fisher-Price en 2001.
En plus lourd encore.

La vue la plus utile, Pending, propose plusieurs modes de visualisation.

Les options sont réduites au strict minimum.
Ici, j’essaie le thème Light.

Conclusion
Aucun raccourci permettant de gagner du temps, pas de charme particulier à mon goût.
Le logiciel fait probablement bien son boulot mais je n’ai pas de feeling particulier.
Il ne se positionne pas comme une alternative suffisante à SourceTree pour la productivité.
Sachant que ce client coûte $37 /an.


GitBlade

https://gitblade.com/

Le premier écran propose d’ouvrir ou de cloner un repo. Straight to the point. Je clone, je dois saisir l’URL et choisir un dossier rentrer manuellement l’URL du dossier de destination.

Un petit folder picker n’aurait pas été de refus

L’interface est épurée mais ne supporte pas le dark mode.
La plupart des commits, même sur un repo peu volumineux, sont masqués par défaut « too large ».

Au clic sur un commit masqué, c’est très lent pour en afficher le contenu. Je rappelle que je travaille sur le même repo dans le même état pour tous les essais, par conséquent je peux affirmer que ce client est bien plus lent que d’autres. En particulier, GitHub Desktop était le plus rapide, en affichant tout instantanément.

Une vue arborescence plutôt bien faite

À part celui-ci, il n’y a aucun raccourci pour ouvrir un repo dans Nautilus, dans votre éditeur favori, dans le terminal. L’interface ne permet pas d’être très productif.

Conclusion
Des vues intéressantes mais un développement pas assez poussé.
Client particulièrement lent.
Pour $ 19.99, je ne le garde pas.


Gitg

https://wiki.gnome.org/Apps/Gitg

Comme on peut le voir à son URL officielle, Gitg a été intégré a Gnome. Première bonne surprise, il se lance en français automatiquement.

On a à faire à une interface sobre, axée efficacité.
J’essaie de me promener dans les menus.
Mon ordi se met à souffler.
L’interface ne répond plus.

Je relance, je n’arrive pas à accéder à mes modifs en attente.

Il me faut beaucoup de temps pour accéder aux préférences, qui sont quand même intéressantes :

Conclusion
Interface prometteuse mais il m’est totalement impossible de l’utiliser.
Je n’ai jamais pu voir ma vue « pending ».
Dommage.


Visual Studio Code

https://code.visualstudio.com/

Rapide, mais une seule vue possible :

Je ne l’étudie pas, trop simpliste, pas dans le scope de ma recherche.


GitForce

https://sites.google.com/site/gitforcetool/home

Aussi incroyable que ça puisse paraître, c’est bien un .exe qu’il faut lancer sous Linux :

L’interface est carrément moche mais au moins elle est intuitive.

Nous avons plusieurs vues utiles
Des interactions qu’on ne retrouve que sur très peu de clients (voire aucun)

Conclusion
Je ne vais pas très très loin avec GitForce, parce que son interface ne me plait pas.
Il semble taillé pour bien faire son boulot (peut-être un peu lent, mais ça reste raisonnable, SourceTree l’est parfois aussi).
Manque d’affinités…


GitEye

https://www.collab.net/downloads/giteye#show-Linux

La flemme.


Sublime Merge

https://www.sublimemerge.com

J’ai été longtemps un utilisateur assidu de SublimeText, depuis que TextMate n’était plus mis à jour.
Donc super content de voir que l’éditeur se remue et sort un client Git, même s’il est payant (ST3 aussi après tout, mais on peut continuer à les utiliser gracieusement).

Première bonne nouvelle, il se charge super vite sur mon repo de test (avec 12K modifs en attente).

Le dark mode existe mais il est réservé aux utilisateurs payants.

La vue en fichiers dispose d’un filtre instantané, très rapide.

Dommage qu’il n’y ait pas de vue arborescente.

ll n’y a pas de barre de raccourcis.

Cela est compensé par la présence d’une palette, ce qui a fait le succès de Sublime !

Ce bon vieux ctrl+shift+P 😍

Malheureusement à travers la palette, pas moyen d’atteindre les fonctions que je chéris tant :

  • Révéler le repo dans l’explorateur de fichiers (Nautilus)
  • Ouvrir le chemin du repo dans un Terminal
  • Ouvrir avec son éditeur favori (pas forcément ST3).

Pré-conclusion
Si ce n’est par sa vitesse, je ne suis pas super emballé par l’interface.
Sublime Merge a eu le temps de planter une fois pendant mon test.
Il va falloir plus d’expérience pour faire une conclusion et décider d’investir $99.

Laisser un commentaire

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

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.