GitComet:大規模リポジトリ向けRust製Git GUI
このプロジェクトは「GitComet is fastest open source user interface for GIT workflows. GitComet User Survey We re running this short survey to better understand how people use our Git GUI client in their daily work.」を基盤として、実践的に使えるオープンソース実装を提供し、再利用可能なツールチェーンと統合手段を備えています。
ひと目でわかる
- これは何?
- Auto-Explore/GitCometはLinux・Windows・macOS向けのローカルファーストGit GUIで、Chromium級の巨大リポジトリでもdiff閲覧を速く保つことをREADMEが掲げる。
- 誰に向いている?
- Chromiumのような巨大リポジトリでGUIの応答性を重視する開発者に向きます。クラウド常時同期型のGit管理や、GUIだけで完結する運用を求める人には前提が合いません。
- 商用利用できる?
- 厳しい条件付きでできます。AGPL-3.0 はネットワーク型コピーレフトのライセンスで、改変版をホスティングサービスなどとしてネットワーク越しに利用させる場合、その利用者にソースコードを同じライセンスで提供する必要があります。
- 今もメンテナンスされている?
- されています。最後のコミットは 2 日前です。
- 何の言語で書かれている?
- 主に Rust です(GitHub の言語統計による)。
回答はプロジェクトの GitHub データ(最終同期:2026年9月14日)と当サイトの分析に基づくもので、法的助言ではありません。
オープンソース詳細解説
Chromium級リポジトリから生まれたGUI
GitCometはREADME上「Fastest Open Source Git GUI」と位置づけられ、Linux・Windows・macOS向けのデスクトップクライアントです。Auto-Explore/GitCometはRust製で、AGPL-3.0、デフォルトブランチdev、最新リリースv0.2.1(2026年8月19日)をREADMEとReleasesが示します。
READMEは、Chromiumのような巨大コードベースで既存ツールが重くなり、大きなリポジトリとファイルdiffの閲覧で応答性を保てる製品が見つからなかったことが起点だと説明します。star数780、fork40はREADME取得時点のGitHubメタデータであり、性能保証ではありません。
ホームページgitcomet.devとMicrosoft Store、AUR(git clone https://aur.archlinux.org/gitcomet.git && makepkg -si)、Gentoo(emerge --ask dev-vcs/gitcomet)など、配布チャネルがREADMEで複数列挙されています。Linux/Windows/macOS対応はREADMEの冒頭にも明記され、Rust製GUIとしてgix/feature ui-gpuiをソースビルドで使う構成が示されています。
apt・Homebrew・Microsoft Storeから入れる
配布はGitHub Releasesのビルド済みバイナリーとインストーラーが中心です。Windowsはインストーラーかポータブル版に加え、Microsoft Store(XPFD182V1H793R)もREADMEが案内します。
macOS/Linuxはbrew install --cask gitcometでAppImage相当を入れられ、LinuxでAppImageが起動しない場合はAPTリポジトリ、AUR、tarball、.debが代替です。Debian/Ubuntu向けAPTはcurl -fsSL https://apt.gitcomet.dev/gitcomet-archive-keyring.gpgとgitcomet.sourcesを/etc/apt/sources.list.d/へ置き、sudo apt install gitcometで導入します。tarballやHomebrewをWSLgで使う場合はlibxcb1、libxkbcommon0、libxkbcommon-x11-0が別途必要とREADMEは記載します。
Git 2.50以上とオープンソース版の機能
GitCometはローカルGit 2.50以上を要求します。計画中のEditionsのOpen Source版(€0)は、ローカルファーストのデスクトップ操作、リモート操作、pull/push、ステージング、コミット、worktree、ブランチ、履歴閲覧、複数リポジトリ、インライン/サイドバイサイドdiff、2-way/3-wayマージをREADMEが列挙します。
Professional版(€20 lifetime、早期割引)はClaude Code、Codex、GitHub CLI連携、テストカバレッジ、GitHub/Azure DevOps連携を追加予定で、waitlistはgitcomet.dev/#editionsです。Professional機能の提供時期や完成度はREADMEに詳細がなく、導入判断はOpen Source版の実機確認を先に行うのが妥当です。
cargo buildとui-gpui,gix機能
ソースからは次のコマンドがREADMEにあります。
cargo build -p gitcomet --features ui-gpui,gix cargo run -p gitcomet --features ui-gpui,gix -- /path/to/repo
開発者向けのワークスペース構成、テスト、カバレッジはCONTRIBUTING.mdへ委ねられています。ビルド前にRust toolchainとGit 2.50以上を満たしているか、ターゲットリポジトリのサイズで起動時間が許容範囲かを小さなサンプルリポジトリで測ると、巨大リポジトリ用途の判断材料になります。
gitcomet setupでdifftool/mergetool登録
GitCometはgit difftoolとgit mergetoolから呼べる独立diff/mergeツールです。headless(算法のみ)とGUI(GPUI)の両モードをREADMEは説明します。
推奨設定はgitcomet setupでグローバルにdifftool/mergetoolを登録し、gitcomet uninstallで解除です。--localは現在のリポジトリのみ、--dry-runは適用前にコマンドを表示します。guiDefault=autoにより表示環境があればGUI、なければheadlessへフォールバックする設計です。KDiff3やMeld互換の引数形式(--L1/--L2/--L3、-o/--output/--out、--base)もREADMEが記載しており、既存設定からの置き換えを想定しています。
difftool CLIはgitcomet difftool --local <path> --remote <path>、mergetoolは--base/--local/--remote/--mergedを取り、Gitから呼ばれる際はLOCAL/REMOTE/MERGED/BASE環境変数をフォールバックとして読むとREADMEが説明します。add/add競合ではbase省略可とREADMEにあります。
テーマJSONとクラッシュログの場所
組み込みテーマはバイナリー内蔵、カスタムテーマは起動時に作成されるユーザーthemesディレクトリのJSON bundleから読み込みます。詳細スキーマはdocs/themes.md(THEMES.md)へ移されています。
クラッシュログと異常終了リカバリ状態はOSごとに固定パスへ書き込まれます。Linuxは$XDG_STATE_HOME/gitcomet/crashes/(なければ~/.local/state/gitcomet/crashes/)、macOSは~/Library/Logs/gitcomet/crashes/です。Windowsのパスは取得素材が途中で切れており、完全な一覧はREADME本体を再確認する必要があります。
AGPL-3.0が社内配布に与える条件
ライセンスはAGPL-3.0です。ネットワーク経由で改変版を提供する場合、ソース提供義務が発生し得るため、社内ツールとして再配布するか、バイナリーのみ配布するかで法務確認が必要になります。Open Source版が個人・商用とも€0とREADMEが述べる一方、Professional版の追加機能は別契約の可能性があり、READMEだけでは境界が確定しません。
導入前の確認例:Git 2.50以上でgitcomet setupを--dry-run実行し、生成されるgit config項目を保存したうえで、テストリポジトリでgit difftool HEAD~1 -- path/to/fileを実行し、GUI/headlessのどちらが選ばれたかを記録します。
Discordとユーザ調査フォーム
READMEはDiscord(discord.gg/2ufDGP8RnA)とgitcomet.dev、autoexplore.aiへのリンクを掲げ、GitComet User Surveyで日常のGit GUI利用実態を収集すると説明します。調査URLはGoogle Forms(README記載)です。
機能要望の優先度付けはSurveyとIssue tracker(openIssues 49)がREADMEメタデータ上の窓口です。導入評価では、巨大リポジトリでのdiffスクロール性能と、gitcomet setup/uninstallの冪等性を同一マシンで2回実行し、git config --list | grep gitcometの差分が期待どおりか記録してください。
AUR/GURU/apt/Homebrew/Microsoft Storeとcargo buildの両経路を試す環境では、同じテストリポジトリでgitcomet difftoolをGUI/headless各1回実行し、使用バイナリーのsha256とGit 2.50以上のgit --version出力をセットで残してください。Professional版waitlist(gitcomet.dev/#editions)を検討する場合も、Open Source版のマージ/ diff性能を先に測定するのがREADMEのEdition説明から読み取れる現実的な順序です。
READMEはmergetool/difftool CLIがGitから呼ばれた際、LOCAL/REMOTE/MERGED/BASE環境変数を読むフォールバックを持つと説明します。add/add競合ではbase省略可です。CIでheadless mergetoolを試す場合、GITCOMET_BINを絶対パスでgit config mergetool.gitcomet.cmdに設定し、trustExitCode trueがREADMEどおりかgit config --getで確認してください。
GUI/headless切替はguiDefault=autoに依存するため、DISPLAYの有無で挙動が変わります。WSLgやリモートSSH開発ではheadlessのみ動くケースをREADMEが想定しており、デスクトップLinuxではapt版gitcometとtarball版で依存ライブラリ差をlibxcb1等のREADME記載パッケージで埋める必要があります。
編集部の結論
Chromiumのような巨大リポジトリでGUIの応答性を重視する開発者に向きます。クラウド常時同期型のGit管理や、GUIだけで完結する運用を求める人には前提が合いません。まずGit 2.50以上を入れ、gitcomet setup後にgit difftoolで小さな変更を開き、headlessとGUIの切替が期待どおりか確認してください。
コミュニティノート