GitUI - واجهة مستخدم Terminal لـ Git
gitui هي واجهة مستخدم طرفية سريعة وموجهة بلوحة المفاتيح لـ Git، مكتوبة بـ Rust. إنها توفر تجميع تفاعلي (وصولاً إلى hunks وأسطر فردية) والالتزام والفرع والتراجع والإخفاء وتصفح السجل في TUI سريع الاستجابة الذي يبقى سريعاً حتى في المستودعات الكبيرة — باستخدام جزء صغير من موارد Electron-based Git GUIs. إنه حل وسط ممتاز بين خام git وعميل رسومي كامل.
التثبيت
| المنصة | الأمر |
|---|
| Cargo (all platforms) | cargo install gitui |
| macOS (Homebrew) | brew install gitui |
| Arch Linux | sudo pacman -S gitui |
| Fedora | sudo dnf install gitui |
| Windows (Scoop) | scoop install gitui |
| Nix | nix-env -iA nixpkgs.gitui |
الإطلاق
| الأمر | الوصف |
|---|
gitui | فتح في المستودع الحالي |
gitui -d /path/to/repo | افتح مستودعاً معيناً |
gitui -w /path/to/worktree | عيّن دليل العمل |
gitui --help | قائمة الخيارات الكاملة |
gitui --version | إصدار |
الملاحة العامة
| المفتاح | الإجراء |
|---|
1–5 | تبديل الأجزاء (الحالة والسجل والملفات والإخفاء وما إلى ذلك) |
Tab | دورة الأجزاء |
← / → or h / l | التحرك بين الأجزاء |
↑ / ↓ or j / k | تحريك التحديد |
? | مساعدة السياق (تعرض جميع المفاتيح للعرض الحالي) |
Esc | للخلف / الإلغاء |
q | خروج |
الحالة والتجميع
| المفتاح | الإجراء |
|---|
Space | تجميع / فك تجميع الملف أو hunk المحدد |
Enter | التركيز على الفرق للتحديد |
s | المرحلة |
S | المرحلة جميع |
u | فك التجميع |
U | فك تجميع الكل |
D | إعادة تعيين (تجاهل) التغييرات على ملف |
c | فتح النافذة المنبثقة للالتزام |
الالتزام
| المفتاح | الإجراء |
|---|
c | الالتزام بالتغييرات المرحلة |
Ctrl+d (in commit msg) | فتح محرر خارجي للرسالة |
a | تعديل الالتزام الأخير |
| Sign-off / verify | قابل للتكوين عبر إعدادات git |
الفروع
| المفتاح | الإجراء |
|---|
b | فتح عرض الفروع |
c (in branches) | إنشاء فرع |
Enter | تحقق من الفرع المحدد |
r | فرع إعادة التسمية |
D | حذف الفرع |
m | دمج الفرع المحدد في الحالية |
R | إعادة قاعدة الحالية على المحدد |
السجل والإخفاء والبعيد
| المفتاح | الإجراء |
|---|
2 | فتح علامة تبويب السجل |
Enter (on commit) | فحص التفاصيل/الفرق |
4 | Stashing tab |
s | إخفاء التغييرات |
a (in stash) | تطبيق stash |
D (in stash) | إسقاط stash |
f | جلب |
p | دفع |
P | السحب |
الإعدادات
| المسار | الغرض |
|---|
~/.config/gitui/key_bindings.ron | ربط مفاتيح مخصص |
~/.config/gitui/theme.ron | ألوان الموضوع |
gitui -t mytheme.ron | الإطلاق مع موضوع معين |
سير العمل المشتركة
# مراجعة وتجميع hunks التي تريدها فقط، ثم الالتزام
gitui # press Space on hunks to stage, c to commit
# فرع تفاعلي وإعادة قاعدة دون حفظ أعلام git
gitui # b to open branches, R to rebase onto selected
# إخفاء سريع وتبديل السياق والاستعادة
gitui # 4 (stash tab), s to stash; later a to apply
GitUI مقابل واجهات Git الأخرى
| الجانب | GitUI | lazygit | git CLI |
|---|
| اللغة | Rust | Go | C |
| السرعة على المستودعات الكبيرة | سريع جداً | سريع | سريع |
| Hunk/line staging | نعم | نعم | git add -p |
| منحنى التعلم | منخفض | منخفض | الأعلام الحادة |
| استخدام الموارد | الحد الأدنى | الحد الأدنى | الحد الأدنى |
الموارد