Magit est une interface avec le système de contrôle de versionGit (un client Git), implémentée sous la forme d'un paquet pour l'éditeur GNU Emacs[1],[2] écrit en Elisp . Il est rendu disponible via le dépôt de paquets Melpa.[3], sur lequel il s'agit du paquet (hors bibliothèques) le plus téléchargé, avec deux millions et demi de téléchargements en [4].
Comme de nombreuses interfaces utilisateur graphiques, Magit fournit une interface visuelle pour représenter les actions de contrôle de version; cependant, il utilise un modèle centré sur le clavier et fonctionne également comme une interface utilisateur textuelle. Le problème de la mémorisation des touches est atténué grâce à l'utilisation d'un menu contextuel qui affiche les actions disponibles pour l'utilisateur[5] - servant d'aide mnémotechnique[6].
Histoire
Magit a été créé par Marius Vollmer en 2008[7], avec Jonas Bernoulli assumant le rôle de mainteneur en 2013[8]. Depuis sa sortie, Magit a connu un degré élevé d'implication de la communauté, avec 316 personnes[9] ayant contribué au code de ce projet de logiciel libre en .
En 2018, Magit a réalisé une campagne de financement Kickstarter[10], et est actuellement le 27e projet logiciel le plus financé sur Kickstarter[11] .
Fonctionnalité
Magit vise à encapsuler toute la fonctionnalité de Git. Ainsi, Magit inclut des interfaces pour [12] :
Cloner un référentiel, et en extraire / extraire le contenu
Mise en place, annulation et suppression des modifications dans l'arbre de travail
Créer des commits et les pousser vers un dépôt cible
Créer des branches, et les fusionner ou les rebaser
Magit utilise Ediff d'Emacs pour fournir une fonctionnalité de fusion à 3 voies
Parcourir et couper en deux l'historique des validations
Liste des sujets, issues, pull-requests, notifications et dépôt
Création d'issues, pull-requests (PR), PR à partir d'une issue, révisions de PR et clones
Accueil
Malgré l'enthousiasme à inclure Magit dans Emacs, il y a des problèmes avec l'obtention de la cession de droits d'auteur FSF de tous les contributeurs au projet[16].
Magit est favorablement couvert dans un certain nombre de billets de blog et de tutoriels[17],[18] et une conférence donnée par le responsable actuel d'Emacs[19].
Magit est inclus par défaut dans les frameworks de configuration Emacs Spacemacs[20] et Doom Emacs[21].
Depuis , Magit est le paquet Emacs le plus étoilé sur GitHub[22].