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 [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].
Créateur | Marius Vollmer |
---|---|
Développé par | Jonas Bernoulli, Kyle Meyer, and Noam Postavsky |
Dernière version | 2.90.1 () |
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 |
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. [note 1] 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].
L'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
- Créer et appliquer des correctifs
- Ajouter des notes et des balises aux commits
Forges
Magit Forge fournit une intégration avec un certain nombre de forges[13], savoir GitHub et GitLab[14].
La prise en charge partielle est également répertoriée pour : Gitea, Gogs, Bitbucket, Gitweb, Cgit, StGit et Sourcehut.
Forge autorise actuellement[15] :
- 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
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].
Voir également
Remarques
- In part this is a consequence of being designed for GNU Emacs, which itself can operate as a TUI.
Références
- (en) Corbet, « Emacs and Magit », sur LWN.net,
- (en) « EmacsWiki: Magit », sur emacswiki.org (consulté le )
- (en) « magit », sur Milkypostman’s Emacs Lisp Package Archive (consulté le )
- (en) « Current List of Packages », sur Milkypostman’s Emacs Lisp Package Archive (consulté le )
- (en) « Transient commands », sur GitHub (consulté le )
- (en) Bernoulli, « Magit, the magical Git interface », EmacsAir,
- (en) « magit/magit.el », sur GitHub (consulté le )
- (en) « Magit 1.4.0 Release Notes », sur GitHub, (consulté le )
- (en) « GitStats - lib », magit.vc (consulté le )
- (en) « It's Magit! The magical Git client », sur Kickstarter
- (en) « Discover » Technology / Software » Most Funded — Kickstarter », sur kickstarter.com (consulté le )
- (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
- (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, (consulté le )
- (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 )
- (en) « Doom Emacs - default modules file », GitHub (consulté le )
- (en) « GitHub Search for "stars:>1000", Emacs lisp, sorted by most stars », GitHub (consulté le )