Magit

interface Git pour Emacs

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].

Magit

Informations
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 WindowsVoir et modifier les données sur Wikidata
Environnement GNU EmacsVoir et modifier les données sur Wikidata
Type Client Git, extension d'éditeur de texte
Licence GNU GPLv3
Documentation magit.github.io/magit/magit.htmlVoir et modifier les données sur Wikidata
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. 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

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é

modifier

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

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

modifier

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

modifier

Références

modifier
  1. (en) Corbet, « Emacs and Magit », sur LWN.net,
  2. (en) « EmacsWiki: Magit », sur emacswiki.org (consulté le )
  3. (en) « magit », sur Milkypostman’s Emacs Lisp Package Archive (consulté le )
  4. (en) « Current List of Packages », sur Milkypostman’s Emacs Lisp Package Archive (consulté le )
  5. (en) « Transient commands », sur GitHub (consulté le )
  6. (en) Bernoulli, « Magit, the magical Git interface », EmacsAir,
  7. (en) « magit/magit.el », sur GitHub (consulté le )
  8. (en) « Magit 1.4.0 Release Notes », sur GitHub, (consulté le )
  9. (en) « GitStats - lib », magit.vc (consulté le )
  10. (en) « It's Magit! The magical Git client », sur Kickstarter
  11. (en) « Discover » Technology / Software » Most Funded — Kickstarter », sur kickstarter.com (consulté le )
  12. (en) « Top (Magit User Manual) », sur magit.vc
  13. (en) Heartman, « Improve your workflow with Forge », sur blog.thomasheartman.com
  14. (en) « Forge User and Developer Manual », sur magit.vc
  15. (en) « Usage (Forge User and Developer Manual) », sur magit.vc
  16. (en) Richard Stallman, « Re: In support of Jonas Bernoulli's Magit », sur lists.gnu.org, (consulté le )
  17. (en) Sachin Patil, « How to use Magit to manage Git projects », opensource.com
  18. (en) Bachmann, « Magit – A textual git interface », itemis
  19. (en) Wiegley, « It's Magit! », YouTube
  20. (en) « Spacemacs - source control layer », GitHub (consulté le )
  21. (en) « Doom Emacs - default modules file », GitHub (consulté le )
  22. (en) « GitHub Search for "stars:>1000", Emacs lisp, sorted by most stars », GitHub (consulté le )

Liens externes

modifier