Magit
Magit est une interface avec le système de contrôle de version Git (un client Git), implémentée sous la forme d'un paquet pour l'éditeur GNU Emacs écrit en Elisp . Il est rendu disponible via le dépôt de paquets Melpa, 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 septembre 2020. 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 - servant d'aide mnémotechnique.
| Créateur | Marius Vollmer |
|---|---|
| Développé par | Jonas Bernoulli, Kyle Meyer, and Noam Postavsky |
| Première version | 2008 |
| Dernière version | 4.5.0 (1er janvier 2026) |
| Dépôt | https://github.com/magit/magit |
| Écrit en | Emacs lisp |
| Système d'exploitation | GNU/Linux, BSD, macOS et Microsoft Windows |
| Environnement | GNU Emacs |
| Type | Client Git, extension d'éditeur de texte |
| Licence | GNU GPLv3 |
| Documentation | magit.github.io/magit/magit.html |
| Site web | https://magit.vc |
Magit est une interface avec le système de contrôle de version Git (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 septembre 2020[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
[modifier | modifier le code]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 septembre 2020.
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é
[modifier | modifier le code]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
- Créer et appliquer des correctifs
- Ajouter des notes et des balises aux commits
Forges
[modifier | modifier le code]Magit Forge fournit une intégration avec un certain nombre de forges[13], à savoir GitHub et GitLab[14],[15].
La prise en charge partielle est également répertoriée pour : Gitea, Gogs, Bitbucket, Gitweb, Cgit, StGit et Sourcehut.
Forge autorise actuellement[16] :
- Récupérer des sujets et des notifications
- 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
[modifier | modifier le code]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[17].
Magit est favorablement couvert dans un certain nombre de billets de blog et de tutoriels[18],[19] et une conférence donnée par le responsable actuel d'Emacs[20].
Magit est inclus par défaut dans les frameworks de configuration Emacs Spacemacs[21] et Doom Emacs[22].
Depuis septembre 2020, Magit est le paquet Emacs le plus étoilé sur GitHub[23].
Voir également
[modifier | modifier le code]Références
[modifier | modifier le code]- ↑ (en) Corbet, « Emacs and Magit », sur LWN.net, 12 juillet 2017
- ↑ (en) « EmacsWiki: Magit », sur emacswiki.org (consulté le 17 septembre 2020)
- ↑ (en) « magit », sur Milkypostman’s Emacs Lisp Package Archive (consulté le 20 septembre 2020)
- ↑ (en) « Current List of Packages », sur Milkypostman’s Emacs Lisp Package Archive (consulté le 20 septembre 2020)
- ↑ (en) « Transient commands », sur GitHub (consulté le 17 septembre 2020)
- ↑ (en) Bernoulli, « Magit, the magical Git interface », EmacsAir, 1er septembre 2017
- ↑ (en) « magit/magit.el », sur GitHub (consulté le 17 septembre 2020)
- ↑ (en) « Magit 1.4.0 Release Notes », sur GitHub, 1er juillet 2015 (consulté le 20 septembre 2020)
- ↑ (en) « GitStats - lib », magit.vc (consulté le 19 septembre 2020)
- ↑ (en) « It's Magit! The magical Git client », sur Kickstarter
- ↑ (en) « Discover » Technology / Software » Most Funded — Kickstarter », sur kickstarter.com (consulté le 17 septembre 2020)
- ↑ (en) « Top (Magit User Manual) », sur magit.vc
- ↑ (en) Heartman, « Improve your workflow with Forge », sur blog.thomasheartman.com
- ↑ (en) « Forge User and Developer Manual », sur magit.vc
- ↑ magit/forge, Magit, 4 mars 2026 (lire en ligne)
- ↑ (en) « Usage (Forge User and Developer Manual) », sur magit.vc
- ↑ (en) Richard Stallman, « Re: In support of Jonas Bernoulli's Magit », sur lists.gnu.org, 5 juillet 2017 (consulté le 19 septembre 2020)
- ↑ (en) Sachin Patil, « How to use Magit to manage Git projects », opensource.com
- ↑ (en) Bachmann, « Magit – A textual git interface », itemis
- ↑ (en) Wiegley, « It's Magit! », YouTube
- ↑ (en) « Spacemacs - source control layer », GitHub (consulté le 19 septembre 2020)
- ↑ (en) « Doom Emacs - default modules file », GitHub (consulté le 19 septembre 2020)
- ↑ (en) « GitHub Search for "stars:>1000", Emacs lisp, sorted by most stars », GitHub (consulté le 19 septembre 2020)
Liens externes
[modifier | modifier le code]
- (en) Site officiel