Si vous n'avez pas encore eu l'occasion de travailler avec (ce dont je doute à moins que vous ayez fait semblant depuis au moins 6 mois), Git c'est un logiciel open source de gestion de version, surtout utilisé par les personnes travaillant avec du code. Il a été créé par Linus Torvalds (il a dû se dire qu'avoir créé Linux c'était pas assez). Il a donné lieu à des sites web comme Gitlab, Gitea ou Github qui permettent de collaborer avec d'autres personnes sur des fichiers tout en ayant un histoirque des modifications de chacun d'eux.
Je m'adresse ici plutôt à ceux qui l'utilisent, et met en garde ceux qui ne l'ont pas encore fait, mais Git à vraiment de nombreux éléments que l'on peut retrouver dans une relation toxique. Certains dérivent de son lien avec l'informatique : personnellement il m'est arrivé de devenir "addict" à un projet, d'y passer des nuits et des jours à cause d'un bug qui souvent n'était pas dû à une erreur d'implémentation mais d'une erreur bête (typiquement : j'ai été bloqué plus d'un mois car j'avais mis un 0 à la place d'un 1 à un endroit de mon programme. véridique.).
Nous retrouvons donc cette manière d'agir avec Git, lorsque notamment vous devez attendre des modifications d'un collaborateur sur votre projet commun pour pouvoir avancer de votre côté et donc guetter Git, ou bien lorsque vous attendez un retour de mainteneur d'un projet open source sur votre pull request ou sur une issue tout ça pour vous rendre compte qu'en fait, ils vous ont ghosté.
Mais ce n'est pas tout, saviez vous que Git gaslight? En effet, lorsque notamment vous faites une pull request sur un projet open source, généralement un bot fait passer à votre code des test pour vérifier sa qualité, si il ne crée pas de bug évident etc. Tout d'abord, préparez vous à devoir plusieurs fois relancer les test à cause des whitespace si vous n'avez pas l'extension permettant de checker si il y en a... Mais, il est aussi possible que Git vous indique que votre code à échoué des tests (que votre code n'aurait pas dû impacter, ie, si ils marchent pas pour vous, ils devraient jamais marcher) et que si vous relancez l'ensemble des test, votre code les passe tous! (sachant que les tests ne sont pas donnés aléatoirement) J'avoue qu'en voyant ça, j'étais attéré (surtout que faire passer l'ensemble des tests durait plus d'une heure.)
Github aime aussi vous annoncer vos erreurs. En reprenant l'exemple des test plus haut, dès que mon code ne les passait pas, je recevais un mail de Github m'annonçant qu'ils passaient pas, par contre, je ne crois pas avoir reçu de mail m'annonçant que tout était passé. Mes victoires étaient donc oubliées.
Bien sur, Git est aussi très très pratique, mais lorsque vous avez beaucoup de conflicts à gérer, vous êtes toujours un peu en train de mourir de l'intérieur.
J'avoue, certaines des idées qui vont suivre ont été volées sans vergogne.
Quand vous utilisez Git, comme dans un marriage, vous commit, merge, et resolve conflicts infiniment (mieux en anglais j'avoue).
Les sites et logiciels s'appuyant sur Git peuvent parfois être open, tout comme les mariages. Et plus il y a de collaborateurs, plus ça peut être complexe sans une bonne organisation.
Si vous en avez d'autres, hésitez pas à le mettre sur le discord de la LH