Magit
作者 | Marius Vollmer |
---|---|
開発元 | Jonas Bernoulli, Kyle Meyer, Noam Postavsky |
最新版 | |
リポジトリ |
github |
プログラミング 言語 | Emacs Lisp |
種別 |
|
ライセンス | GPL-3.0-or-later |
公式サイト |
magit |
MagitはGitバージョン管理システムのインタフェースであり、Emacs Lispで書かれたGNU Emacsパッケージとして利用できる[2][3]。MELPAパッケージリポジトリから入手でき[4]、ライブラリ以外のパッケージの中で最もダウンロード数が多く、2024年9月の時点で430万回以上ダウンロードされている[5]。
多くのグラフィカルユーザインタフェースと同様に、Magitはバージョン管理アクションを表す視覚的なインターフェースを提供するが、キーボード中心のモデルを使用し、テキストユーザインタフェースとしても機能する[注釈 1]。キーバインドを記憶する必要があるという問題は、ユーザーが利用できるアクションを表示するポップアップメニューを使用することで軽減され[6]、これは記憶補助として機能する[7]。
歴史
[編集]Magitは2008年にマリウス・ヴォルマー(Marius Vollmer)によって作成され[8]、2013年にジョナス・ベルヌーイ(Jonas Bernoulli)がメンテナーの役割を引き継いだ[9]。リリース以来、Magitはコミュニティとの距離が近く、2020年9月現在、350人がこの自由ソフトウェアプロジェクトにコードを提供している[10]。
2018年、MagitはKickstarterの資金調達キャンペーンを実施し[11]、メンテナーの1年間の作業資金を調達することを目指した。資金調達は成功し、このプロジェクトはKickstarterで27番目に資金を集めたソフトウェアプロジェクトとなった[12]。Kickstarterの資金調達キャンペーン以降は、直接支払い、GitHubのスポンサーシッププログラム、その他のさまざまなクラウドファンディングサービスを通じて、作者の開発を支援するための寄付が奨励されている[13]。
機能
[編集]
MagitはGitの全機能をカプセル化することを目指しており[14]、次のようなワークフロー用のインターフェースを備えている[15]。
- リポジトリのクローン作成とそこからのフェッチ/プル
- ワークツリー内の変更のステージング、アンステージング、および破棄
- コミットの作成とリモートへのプッシュ
- ブランチの作成とマージまたはリベース
- MagitはEmacsのEdiffを使用して3方向マージ機能を提供する
- コミット履歴の参照とバイセクト
- パッチの作成と適用
- コミットへのメモとタグの追加
フォージ
[編集]MagitのForgeは、GitHubやGitLabなど、多数のフォージとの統合を提供する[16][17]。
Gitea、Gogs、Bitbucket、Gitweb、Cgit、StGit、SourceHutは部分的にサポートされている。
Forgeでは現在、以下の操作が可能である[18]。
- トピックと通知の取得
- トピック、issue、プルリクエスト、通知、リポジトリの一覧表示
- issue、プルリクエスト(PR)、issueからのPR、PRレビュー、フォークの作成
反応
[編集]Magitは、多数のブログ記事やチュートリアル、元EmacsのメンテナーJohn Wiegleyによる講演で好意的に取り上げられている[19][20][21]。
Magitは、Emacs設定フレームワークSpacemacsとDoom Emacsにデフォルトで含まれている[22][23]。
MagitをEmacsの組み込み機能パッケージとして含めることに関心が寄せられているが、プロジェクトのすべての貢献者からFSF著作権譲渡の許諾を取得することに問題がある[24]。
2023年2月現在、MagitはGitHubで最もスターが付けられたEmacsパッケージである[25]。
関連項目
[編集]注釈
[編集]- ^ これは、それ自体がテキストユーザインタフェースとして動作できるGNU Emacs用に設計されていることによるところが大きい。
脚注
[編集]- ^ "Release 4.2.0"; 閲覧日: 2025年1月26日; 出版日: 2025年1月1日.
- ^ Corbet, Jonathan (July 12, 2017). “Emacs and Magit”. LWN.net. 2025年2月20日閲覧。
- ^ “EmacsWiki: Magit”. 2020年9月17日閲覧。
- ^ “magit”. Milkypostman's Emacs Lisp Package Archive. 2020年9月20日閲覧。
- ^ “Current List of Packages”. Milkypostman's Emacs Lisp Package Archive. 2024年9月15日閲覧。
- ^ “Transient commands”. GitHub. 2020年9月17日閲覧。
- ^ Bernoulli, Jonas (2017年9月1日). “Magit, the magical Git interface”. EmacsAir. 2025年2月20日閲覧。
- ^ “magit/magit.el”. GitHub. 2020年9月17日閲覧。
- ^ “Magit 1.4.0 Release Notes”. GitHub (2015年7月1日). 2020年9月20日閲覧。
- ^ “GitStats - magit”. magit.vc. 2022年3月8日閲覧。
- ^ “It's Magit! The magical Git client”. Kickstarter. 2025年2月20日閲覧。
- ^ “Discover » Technology / Software » Most Funded — Kickstarter”. 2020年9月17日閲覧。
- ^ “Please help making it better”. 2025年2月20日閲覧。
- ^ Bernoulli, Jonas. “It's Magit! A Git Porcelain inside Emacs”. magit.vc. 2022年1月2日閲覧。
- ^ “Top (Magit User Manual)”. magit.vc. 2025年2月20日閲覧。
- ^ Heartman, Thomas (16 March 2020). “Improve your workflow with Forge”. 2025年2月20日閲覧。
- ^ “Forge User and Developer Manual”. magit.vc. 2025年2月20日閲覧。
- ^ “Usage (Forge User and Developer Manual)”. magit.vc. 2025年2月20日閲覧。
- ^ Patil, Sachin. “How to use Magit to manage Git projects”. opensource.com. 2025年2月20日閲覧。
- ^ Bachmann, Gunther. “Magit – A textual git interface”. itemis. 2025年2月20日閲覧。
- ^ Wiegley, John. “It's Magit!”. YouTube. 2025年2月20日閲覧。
- ^ “Spacemacs - source control layer”. GitHub. 2020年9月19日閲覧。
- ^ “Doom Emacs - default modules file”. GitHub. 2020年9月19日閲覧。
- ^ Stallman, Richard (5 July 2017). "Re: In support of Jonas Bernoulli's Magit". emacs-devel (Mailing list). 2020年9月19日閲覧。
- ^ “GitHub Search for "stars:>1000", Emacs lisp, sorted by most stars”. GitHub. 2020年9月19日閲覧。