私は Git 作業のほとんどをターミナルで行っていますが、インデックス、コミット、差分、スタッシュ、Blame、ログなどのいくつかのユースケースでは、頻繁に Git GUI を使用していることに気づきました。
残念ながら、一般的な git GUI はすべて、巨大なリポジトリで失敗するか、応答しなくなって使用できなくなります。
GitUI は、ポータブル、高速、無料、オープンソースでありながら、Git GUI のユーザー エクスペリエンスと快適さを端末内で提供します。
RustBerlin ミートアップ プレゼンテーション (スライド) のために、Linux git リポジトリ全体 (900k 以上のコミットが含まれている) を解析して、 lazygit
、 tig
、およびgitui
比較しました。
時間 | メモリ (GB) | バイナリ (MB) | フリーズする | クラッシュ | |
---|---|---|---|---|---|
gitui | 24秒✅ | 0.17 ✅ | 10 | いいえ✅ | いいえ✅ |
lazygit | 57秒 | 2.6 | 25 | はい | 時々 |
tig | 4分20秒 | 1.3 | 0.6✅ | 時々 | いいえ✅ |
これらは1.0
宣言する前の高レベルの目標です。
現在、このツールはgit shell を完全に置き換えるものではありませんが、両方のツールは連携して適切に機能します。
gitui
の優先順位は、スタッシング、ステージング ライン、ハンクなど、 git Shellで実行すると腹が立つような機能です。最終的には、 gitui
ワンストップ ソリューションにすることに取り組むことができるようになります。ただし、そのためには助けが必要です。今のところ、これは単なる暇なプロジェクトです。
すべてのサポートを歓迎します!スポンサーも! ❤️
GitUI はベータ版であり、バグや不足している機能が含まれている可能性があります。ただし、個人で使用する場合はかなり安定しており、独自に開発しながら使用されています。
pacman -S gitui
sudo dnf install gitui
dm9pZCAq オーバーレイで利用可能
sudo eselect repository enable dm9pZCAq
sudo emerge --sync dm9pZCAq
sudo emerge dev-vcs/gitui::dm9pZCAq
sudo zypper install gitui
brew install gitui
port install gitui
winget install gitui
scoop install gitui
choco install gitui
ニクスパッケージ
nix-env -iA nixpkgs.gitui
NixOS
nix-env -iA nixos.gitui
pkg install gitui
conda install -c conda-forge gitui
リリースでダウンロード可能
利用可能なバイナリ:
すべてに 1 つのバイナリ ファイルが含まれています
NIGHTLIES.md を参照
サポートされている最小のrust
/ cargo
バージョン: 1.70
openssl 依存関係を構築するには (https://docs.rs/openssl/latest/openssl/ を参照)
完全なテストスイートを実行するには、 Python が必要です (そして、 python
として呼び出すことができる必要があります)。
gitui
をいじり始める最も簡単な方法は、 cargo
ビルドし、 cargo install gitui --locked
を使用してインストールすることです。 Rust とカーゴに詳しくない場合は、「Rust 入門」を参照してください。
libgit2
トレースを有効にする
libgit2
が-DENABLE_TRACE=ON
でビルドされた場合に動作します
この機能はデフォルトで有効になっており、無効にする場合は次のようになります。cargo cargo install --no-default-features
FAQページを参照
ロギングを有効にして実行するには、 gitui -l
実行します。
これにより、次の場所にログが記録されます。
$HOME/Library/Caches/gitui/gitui.log
XDG
を使用する Linux : $XDG_CACHE_HOME/gitui/gitui.log
$HOME/.cache/gitui/gitui.log
%LOCALAPPDATA%/gitui/gitui.log
gitui
、明るいターミナル テーマと暗いターミナル テーマの両方で自動的に動作するはずです。
ただし、すべてを好みに合わせてカスタマイズできます。「テーマ」を参照してください。
キー バインディングはカスタマイズできます。vim vim
ようなバインディングに設定する方法については、「Key Config」を参照してください。
CONTRIBUTING.md を参照してください。
GitUI を素晴らしいものにするのに貢献したすべての貢献者に感謝します。 ❤️
共同メンテナーになりませんか?私たちはあなたを探しています!