Magit ( / ˈmædʒɪt / MA -jit o / ˈmʌɡɪt / MUH - git [ 3] ) es una interfaz para el sistema de control de versiones Git , disponible como un paquete GNU Emacs [4] [ 5] escrito en Emacs Lisp . Está disponible a través del repositorio de paquetes MELPA, [6] en el que es el paquete no bibliotecario más descargado, con más de 4,3 millones de descargas a septiembre de 2024. [7]
Al igual que muchas interfaces gráficas de usuario , Magit proporciona una interfaz visual para representar acciones de control de versiones; sin embargo, utiliza un modelo centrado en el teclado y también funciona como una interfaz de usuario basada en texto . [a] El problema de la memorización de teclas se mitiga mediante el uso de un menú emergente que muestra las acciones disponibles para el usuario [8], que sirve como ayuda mnemotécnica . [9]
Historia
Magit fue creado por Marius Vollmer en 2008, [10] y Jonas Bernoulli asumió el rol de mantenedor en 2013. [11] Desde su lanzamiento, Magit ha visto un alto grado de participación de la comunidad , con 350 personas [12] que han contribuido con código a este proyecto de software libre hasta septiembre de 2020.
En 2018, Magit se sometió a una campaña de financiación en Kickstarter [13] cuyo objetivo era financiar al mantenedor durante un año de trabajo. La recaudación de fondos fue un éxito y dio como resultado que el proyecto fuera el 27.º proyecto de software más financiado en Kickstarter. [14] Dado que el período de financiación de Kickstarter expiró, se fomentan las donaciones para apoyar el desarrollo de los autores a través de pagos directos, el programa de patrocinio de GitHub y varios otros servicios de financiación colectiva. [15]
Funcionalidad

Magit tiene como objetivo encapsular toda la funcionalidad de Git, [16] y tiene interfaces para flujos de trabajo como: [17]
- Clonar un repositorio y obtener/extraer información de él
- Preparación, cancelación y descarte de cambios en el árbol de trabajo
- Crear confirmaciones y enviarlas a un servidor remoto
- Crear ramas y luego
fusionarlas o reestructurarlas
- Magit utiliza Ediff de Emacs para proporcionar una funcionalidad de fusión de tres vías
- Explorando y dividiendo el historial de confirmaciones
- Creación y aplicación de parches
- Agregar notas y etiquetas a las confirmaciones
Fraguas
Magit's Forge proporciona integración con varias forjas , [18] a saber, GitHub y GitLab . [19]
También se incluye soporte parcial para: Gitea , Gogs, Bitbucket , Gitweb, Cgit, StGit y SourceHut.
Forge actualmente permite [20]
- Obtención de temas y notificaciones
- Listado de temas, problemas, solicitudes de incorporación de cambios, notificaciones y repositorios
- Creación de problemas, solicitudes de incorporación de cambios (PR), PR a partir de un problema, revisiones de PR y bifurcaciones
Recepción
Magit ha sido tratado favorablemente en una serie de publicaciones de blog y tutoriales y en una charla dictada por el ex mantenedor de Emacs, John Wiegley. [21] [22] [23]
Magit está incluido de forma predeterminada en los marcos de configuración de Emacs Spacemacs y Doom Emacs. [24] [25]
Ha habido interés en incluir Magit como un paquete de características integrado en Emacs, pero hay problemas para obtener la asignación de derechos de autor de la FSF de todos los contribuyentes al proyecto. [26]
A partir de febrero de 2023, Magit es el paquete de Emacs con más estrellas en GitHub. [27]
Véase también
Notas
Referencias
- ^ Bernoulli, Jonas (9 de agosto de 2024). "Emacsair! Magit 4.0 lanzado". emacsair.me . Consultado el 15 de septiembre de 2024 .
- ^ "magit/docs/RelNotes/4.0.0.org en principal · magit/magit". GitHub . Consultado el 15 de septiembre de 2024 .
- ^ "¿Cómo pronunciar Magit? (Manual de usuario de Magit)". magit.vc . Consultado el 15 de septiembre de 2024 .
- ^ Corbet, Jonathan (12 de julio de 2017). "Emacs y Magit". LWN.net .
- ^ "EmacsWiki: Magit" . Consultado el 17 de septiembre de 2020 .
- ^ "magit". Archivo de paquetes Emacs Lisp de Milkypostman . Consultado el 20 de septiembre de 2020 .
- ^ "Lista actual de paquetes". Archivo de paquetes Emacs Lisp de Milkypostman . Consultado el 15 de septiembre de 2024 .
- ^ "Comandos transitorios". GitHub . Consultado el 17 de septiembre de 2020 .
- ^ Bernoulli, Jonas (1 de septiembre de 2017). "Magit, la interfaz mágica de Git". EmacsAir .
- ^ "magit/magit.el". GitHub . Consultado el 17 de septiembre de 2020 .
- ^ "Notas de la versión de Magit 1.4.0". GitHub . 2015-07-01 . Consultado el 2020-09-20 .
- ^ "GitStats - magit". magit.vc . Consultado el 8 de marzo de 2022 .
- ^ "¡Es Magit! El cliente mágico de Git". Kickstarter .
- ^ "Descubrir » Tecnología / Software » Los proyectos más financiados — Kickstarter" . Consultado el 17 de septiembre de 2020 .
- ^ "Por favor ayuda a hacerlo mejor".
- ^ Bernoulli, Jonas. "¡Es Magit! Un Git Porcelain dentro de Emacs". magit.vc . Consultado el 2 de enero de 2022 .
- ^ "Arriba (Manual de usuario de Magit)". magit.vc .
- ^ Heartman, Thomas (16 de marzo de 2020). "Mejora tu flujo de trabajo con Forge".
- ^ "Manual de usuario y desarrollador de Forge". magit.vc .
- ^ "Uso (Manual de usuario y desarrollador de Forge)". magit.vc .
- ^ Patil, Sachin. "Cómo usar Magit para gestionar proyectos Git". opensource.com .
- ^ Bachmann, Gunther. "Magit: una interfaz textual de git". artículos .
- ^ Wiegley, John. "¡Es Magit!". YouTube .
- ^ "Spacemacs - capa de control de código fuente". GitHub . Consultado el 19 de septiembre de 2020 .
- ^ "Doom Emacs - archivo de módulos predeterminados". GitHub . Consultado el 19 de septiembre de 2020 .
- ^ Stallman, Richard (5 de julio de 2017). "Re: En apoyo a Magit de Jonas Bernoulli". emacs-devel (Lista de correo) . Consultado el 19 de septiembre de 2020 .
- ^ "Búsqueda en GitHub de "estrellas:>1000", Emacs lisp, ordenado por mayor número de estrellas". GitHub . Consultado el 19 de septiembre de 2020 .
Enlaces externos
- Sitio web oficial