Comprehensive Git Automation CLI Tool with Beautiful Terminal UI and Template Management
Project description
GitHydra 🐍
أداة شاملة لإدارة Git مع واجهة طرفية جميلة
Comprehensive Git Automation CLI Tool with Beautiful Terminal UI
English Documentation
🚀 Overview
GitHydra is a powerful Python-based command-line tool that transforms Git into an intuitive, beautiful experience. Built with Rich for stunning terminal UI, Click for robust CLI framework, and GitPython for seamless Git integration.
✨ Features
13 Feature Categories | 33 Command Groups | 70+ Operations
1️⃣ Repository Operations
- Initialize repositories
- View detailed status
- Clone with progress tracking
2️⃣ File & Staging
- Interactive staging area
- Smart file selection
- Stage/unstage management
3️⃣ Commits & History
- Beautiful commit creation
- Rich history viewer with graph
- Advanced search and filtering
4️⃣ Branches
- Create, delete, rename branches
- Switch branches seamlessly
- Track remote branches
5️⃣ Remote & Sync
- Manage remotes
- Push/pull/fetch operations
- Smart sync strategies
6️⃣ Advanced Operations
- Stash management
- Tag creation
- Reset, revert, cherry-pick
- Enhanced diff viewer
7️⃣ Submodules & Worktrees
- Submodules: add, init, update, status, sync, foreach, deinit
- Worktrees: create multiple working trees, list, remove, prune, lock/unlock, move
8️⃣ Debugging & Search
- Bisect: Binary search to find bugs
- Blame: Line-by-line authorship with statistics
- Reflog: View and manage reference logs
9️⃣ Patches & Bundles
- Patches: Create, apply, format patches
- Bundles: Transport repositories via bundle files
🅰️ Conflicts & Merging
- List conflicted files
- Accept ours/theirs strategies
- Launch merge tools
- Abort operations safely
🅱️ Statistics & Analysis
- Repository overview
- Contributor statistics
- Activity analysis
- File statistics
- Language distribution
©️ Maintenance & Repair
- Archive creation (zip, tar, tar.gz)
- Clean untracked files
- Repository integrity checks
- Garbage collection
🅳 Configuration
- Git config management
- Command aliases
- User preferences
📦 Installation
Quick Install
pip install -e .
Manual Installation
git clone <repository-url>
cd githydra
pip install -r requirements.txt
🎯 Usage
Interactive Mode (Recommended)
githydra interactive
# or
python githydra.py interactive
Command Line Mode
githydra status
githydra commit -m "Your message"
githydra branch list
githydra log --graph
githydra submodule add <url>
githydra statistics overview
githydra compare branches main develop
Available Commands
githydra --help
githydra <command> --help
📋 Command Examples
Repository Operations
githydra init [path] # Initialize repository
githydra status # Show status
githydra clone <url> # Clone repository
Staging & Commits
githydra stage add --interactive # Interactive staging
githydra commit -m "message" # Create commit
githydra log --graph --limit 20 # View history
Branch Management
githydra branch create feature # Create branch
githydra branch switch develop # Switch branch
githydra branch delete old-branch # Delete branch
Remote Operations
githydra remote add origin <url> # Add remote
githydra sync push # Push changes
githydra sync pull # Pull changes
Advanced Features
githydra stash save -m "WIP" # Stash changes
githydra tag create v1.0 # Create tag
githydra bisect start # Start bisect
githydra blame src/main.py # Show authorship
githydra archive create --format zip # Create archive
Statistics & Analysis
githydra statistics overview # Repository stats
githydra statistics contributors # Contributor stats
githydra statistics activity # Activity analysis
Debugging Tools
githydra bisect start # Find bugs
githydra blame <file> # Line authorship
githydra reflog show # View reflog
🎨 Features Highlights
- Beautiful UI: Rich terminal interface with colors, tables, and progress bars
- Interactive Menus: User-friendly navigation through all features
- Comprehensive Logging: All operations logged to
~/.githydra/logs/ - Smart Error Handling: Graceful error messages and recovery
- Configuration: Customizable via
~/.githydra/config.yaml - Aliases: Create shortcuts for frequent commands
- Progress Tracking: Visual feedback for long operations
- Git Integration: Seamless GitPython backend
📁 Project Structure
githydra/
├── githydra.py # Main entry point
├── src/
│ ├── commands/ # All command implementations
│ ├── ui/ # Rich UI components
│ ├── utils/ # Utility functions
│ └── logger.py # Logging system
├── setup.py # Installation script
├── requirements.txt # Dependencies
└── README.md # This file
🔧 Configuration
GitHydra stores configuration in ~/.githydra/:
config.yaml- User preferencesaliases.yaml- Command aliaseslogs/- Operation logs by date
🤝 Contributing
Contributions are welcome! Please feel free to submit issues or pull requests.
📄 License
MIT License - Feel free to use and modify.
🐛 Bug Reports
Found a bug? Please open an issue with:
- GitHydra version
- Python version
- Error message
- Steps to reproduce
التوثيق العربي
🚀 نظرة عامة
GitHydra هي أداة قوية مبنية على Python لإدارة Git بواجهة طرفية جميلة وسهلة الاستخدام. مبنية باستخدام Rich لواجهة المستخدم، Click لإطار CLI، وGitPython للتكامل مع Git.
✨ المميزات
13 فئة | 33 مجموعة أوامر | أكثر من 70 عملية
1️⃣ عمليات المستودع
- تهيئة المستودعات
- عرض الحالة التفصيلية
- الاستنساخ مع تتبع التقدم
2️⃣ الملفات والتجهيز
- منطقة تجهيز تفاعلية
- اختيار ذكي للملفات
- إدارة التجهيز/إلغاء التجهيز
3️⃣ الالتزامات والتاريخ
- إنشاء التزامات جميلة
- عارض تاريخ غني بالرسوم البيانية
- البحث والتصفية المتقدمة
4️⃣ الفروع
- إنشاء وحذف وإعادة تسمية الفروع
- التبديل بين الفروع بسلاسة
- تتبع الفروع البعيدة
5️⃣ البعيد والمزامنة
- إدارة المستودعات البعيدة
- عمليات الدفع/السحب/الجلب
- استراتيجيات المزامنة الذكية
6️⃣ العمليات المتقدمة
- إدارة التخزين المؤقت
- إنشاء الوسوم
- إعادة التعيين والاستعادة واختيار الكرز
- عارض الفروقات المحسّن
7️⃣ الوحدات الفرعية وأشجار العمل
- الوحدات الفرعية: إضافة، تهيئة، تحديث، حالة، مزامنة
- أشجار العمل: إنشاء أشجار عمل متعددة، قائمة، إزالة
8️⃣ التصحيح والبحث
- Bisect: بحث ثنائي لإيجاد الأخطاء
- Blame: معرفة من كتب كل سطر
- Reflog: عرض وإدارة سجلات المراجع
9️⃣ التصحيحات والحزم
- التصحيحات: إنشاء وتطبيق التصحيحات
- الحزم: نقل المستودعات عبر ملفات الحزم
🅰️ التعارضات والدمج
- قائمة الملفات المتعارضة
- قبول استراتيجيات "لنا" أو "لهم"
- تشغيل أدوات الدمج
- إلغاء العمليات بأمان
🅱️ الإحصائيات والتحليلات
- نظرة عامة على المستودع
- إحصائيات المساهمين
- تحليل النشاط
- إحصائيات الملفات
- توزيع اللغات
©️ الصيانة والإصلاح
- إنشاء الأرشيفات (zip, tar, tar.gz)
- تنظيف الملفات غير المتتبعة
- فحص سلامة المستودع
- جمع القمامة
🅳 التكوين
- إدارة إعدادات Git
- الاختصارات
- تفضيلات المستخدم
📦 التثبيت
التثبيت السريع
pip install -e .
التثبيت اليدوي
git clone <repository-url>
cd githydra
pip install -r requirements.txt
🎯 الاستخدام
الوضع التفاعلي (موصى به)
githydra interactive
# أو
python githydra.py interactive
وضع سطر الأوامر
githydra status
githydra commit -m "رسالتك"
githydra branch list
githydra log --graph
githydra submodule add <url>
githydra statistics overview
📋 أمثلة الأوامر
عمليات المستودع
githydra init [path] # تهيئة مستودع
githydra status # عرض الحالة
githydra clone <url> # استنساخ مستودع
التجهيز والالتزامات
githydra stage add --interactive # تجهيز تفاعلي
githydra commit -m "الرسالة" # إنشاء التزام
githydra log --graph --limit 20 # عرض التاريخ
إدارة الفروع
githydra branch create feature # إنشاء فرع
githydra branch switch develop # التبديل للفرع
githydra branch delete old-branch # حذف فرع
العمليات البعيدة
githydra remote add origin <url> # إضافة مستودع بعيد
githydra sync push # دفع التغييرات
githydra sync pull # سحب التغييرات
المميزات المتقدمة
githydra stash save -m "عمل جاري" # حفظ مؤقت
githydra tag create v1.0 # إنشاء وسم
githydra bisect start # بدء البحث الثنائي
githydra blame src/main.py # عرض المؤلف
githydra archive create --format zip # إنشاء أرشيف
الإحصائيات والتحليلات
githydra statistics overview # إحصائيات المستودع
githydra statistics contributors # إحصائيات المساهمين
githydra statistics activity # تحليل النشاط
🎨 المميزات البارزة
- واجهة جميلة: واجهة طرفية غنية بالألوان والجداول وأشرطة التقدم
- قوائم تفاعلية: تنقل سهل عبر جميع المميزات
- تسجيل شامل: جميع العمليات مسجلة في
~/.githydra/logs/ - معالجة ذكية للأخطاء: رسائل خطأ واضحة واستعادة تلقائية
- التكوين: قابل للتخصيص عبر
~/.githydra/config.yaml - الاختصارات: إنشاء اختصارات للأوامر المتكررة
- تتبع التقدم: ملاحظات مرئية للعمليات الطويلة
- تكامل Git: خلفية GitPython سلسة
🔧 التكوين
يخزن GitHydra التكوين في ~/.githydra/:
config.yaml- تفضيلات المستخدمaliases.yaml- اختصارات الأوامرlogs/- سجلات العمليات حسب التاريخ
👨💻 Developer / المطور
Name / الاسم: Abdulaziz Alqudimi
Email / البريد الإلكتروني: eng7mi@gmail.com
Repository / المستودع: https://github.com/Alqudimi/GitHydra
🤝 Contributing / المساهمة
Contributions are welcome! Feel free to submit issues or pull requests.
المساهمات مرحب بها! لا تتردد في إرسال المشاكل أو طلبات السحب.
📧 Contact / التواصل
For questions, suggestions, or support:
- Email: eng7mi@gmail.com
- GitHub Issues: https://github.com/Alqudimi/GitHydra/issues
للأسئلة أو الاقتراحات أو الدعم:
- البريد الإلكتروني: eng7mi@gmail.com
- مشاكل GitHub: https://github.com/Alqudimi/GitHydra/issues
📄 License / الترخيص
MIT License - Free to use and modify.
ترخيص MIT - يمكنك الاستخدام والتعديل بحرية.
🐛 Bug Reports / الإبلاغ عن الأخطاء
Found a bug? Please open an issue with:
- GitHydra version / إصدار GitHydra
- Python version / إصدار Python
- Error message / رسالة الخطأ
- Steps to reproduce / خطوات إعادة الإنتاج
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file githydra-3.1.0.tar.gz.
File metadata
- Download URL: githydra-3.1.0.tar.gz
- Upload date:
- Size: 57.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e412383dfa9e47664a90ff3ae660037b60bb4626ab16abac96263781c32fdc80
|
|
| MD5 |
72c732c5648749847394a5eaeaeee545
|
|
| BLAKE2b-256 |
1596289802b80ed60cae304afb454c4924bab33e5b1e0504825efd2921ce95f2
|
File details
Details for the file githydra-3.1.0-py3-none-any.whl.
File metadata
- Download URL: githydra-3.1.0-py3-none-any.whl
- Upload date:
- Size: 69.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
08c38682a8f4099e9e61282061df52927115e5b16fcc6361c09de3ba2e4497f7
|
|
| MD5 |
24bf5da2194ea1260c18553b5d25a5a6
|
|
| BLAKE2b-256 |
906444ab670a2c31638f81abeb17391062a45fe8790e25ded8adc54987fbddc9
|