# Git

> Rant time: You’ve heard it before, git is powerful, but what good is that power when everything is so damn hard to do? Interactive rebasing requires you to edit a goddamn TODO file in your editor? Are you kidding me? To stage part of a file you need to use a command line program to step through each hunk and if a hunk can’t be split down any further but contains code you don’t want to stage, you have to edit an arcane patch file by hand? Are you KIDDING me?! Sometimes you get asked to stash your changes when switching branches only to realise that after you switch and unstash that there weren’t even any conflicts and it would have been fine to just checkout the branch directly? YOU HAVE GOT TO BE KIDDING ME!

> LazyGit

Je profite de la découverte de cet outil pour une confidence qui n’en est pas vraiment une : j’utilise un client graphique pour tout ce qui a trait à git (et je n’en ai pas honte).

J’ai longtemps utilisé mercurial à la main car je trouvais les commandes relativement intuitives mais en passant à git il y a une dizaine d’années, je me suis retrouvé la moitié du temps à aller chercher des commandes sur StackOverflow, puis à faire des alias car c’était impossible à retenir, puis à perdre du code, etc. Au final, quitte à lancer des commandes que je comprends à peine (il parait que c’est moins cryptique aujourd’hui) autant utiliser celles qui ont été éprouvées par d’autres.

Tower sait faire tout ce dont j’ai besoin à mon niveau. Et vu le temps que ça me fait gagner à répétition, c’est largement rentable. Peut-être même de plusieurs ordres de grandeur… considérant que je contribue quotidiennement à une dizaine de dépôts.

Ce témoignage pour peut-être déculpabiliser des personnes qui pensent qu’il faut être un·e virtuose de la ligne de commande et de ses outils pour pouvoir développer. C’est un plus indéniable dans certaines situations d’être en capacité de descendre aussi bas niveau et d’avoir quelques notions de ce qu’il se passe mais il est tout à fait possible d’emprunter (et de créer !) d’autres voies.