Skip to content

Repository files navigation

Git & GitHub Helper Smart Pro

Git Helper Banner

GUI Version CLI Version Team PowerShell License Security

اداة PowerShell احترافية لادارة مستودعات Git/GitHub

واجهة رسومية WPF حديثة + واجهة سطر اوامر قوية


نبذة عن المشروع

Git & GitHub Helper Smart Pro هي اداة PowerShell تفاعلية متكاملة صُممت لتبسيط ادارة مستودعات Git/GitHub. متوفرة بنسختين:

  • واجهة رسومية (GUI) - GitHelper_GUI.ps1 (v7.0) — تصميم WPF عصري
  • سطر اوامر (CLI) - GitHelpersmart4.4.ps1 (v4.4.1) — واجهة نصية للمتقدمين

التحديث الاخير v7.0

ميزات جديدة رئيسية

الميزة الوصف
Smart Commit نافذة commit ذكية مع نوع (feat/fix/docs) + ملخص diff تلقائي
Async Runspace عمليات Git تعمل في Background Thread — الواجهة لا تتجمد ابدا
Conflict Detection كشف تلقائي لتعارضات الدمج بعد Pull مع عرض الملفات المتعارضة
GitHub CLI تكامل مع gh — انشاء repositories مباشرة من الواجهة + فحص الاتصال
Settings Persistence حفظ واسترجاع الاعدادات (الثيم، حجم النافذة، المجلد) تلقائيا

تحصين امني شامل

التقنية الوصف السبب
ازالة Invoke-Expression كل اوامر git الان تستخدم عامل الاستدعاء الامن & منع حقن الاوامر (Command Injection) — كان يسمح بتنفيذ اوامر خبيثة عبر URL مزيف
تحقق من الروابط (URL Validation) فحص regex للروابط قبل استخدامها حظر الرموز الخطيرة مثل ; و | و & في الروابط
فتح روابط امن فقط روابط http:// و https:// تُفتح في المتصفح حظر URI schemes خبيثة مثل javascript: او مسارات UNC
التحقق من المدخلات كل مدخلات المستخدم تُفحص قبل تمريرها لـ git منع الاوامر المشوهة والاحرف الخاصة

تحسين الاداء والخفة

التقنية الوصف الاثر
Timer موحد قابل لاعادة الاستخدام DispatcherTimer واحد بدل انشاء جديد مع كل اشعار Toast القضاء على تسرب الذاكرة (Memory Leak)
تقليل DoEvents() ازالة استدعاءات غير ضرورية لتحديث الواجهة تقليل حظر UI Thread وتسريع الاستجابة
محرك ثيمات موحد دالة Apply-Theme مع جدول الوان بدل 100+ سطر مكرر كود اخف واسهل صيانة
حارس قائمة الفروع $Script:UpdatingBranches يمنع استدعاءات git زائدة تقليل عمليات git الفرعية غير الضرورية
تخزين BrushConverter نسخة واحدة مُعاد استخدامها لتحويل الالوان اداء اسرع في تبديل الثيم

اصلاح الاخطاء

الخطأ الوصف الحل
تضارب ارقام الاصدارات العنوان يقول v5.0 والمساعدة v6.5 والسجل v6.6 توحيد عبر $Script:AppVersion
خلط النطاقات (Scope) بعض المتغيرات $Global: وبعضها $Script: توحيد الكل على $Script:
تسرب مسار العمل Set-Location بدون Pop-Location يغير المجلد نهائيا Push-Location/Pop-Location مع try/finally
كشف ثيم النظام Set-AppTheme كانت تُلغى فورا بـ Set-DarkTheme Set-SystemTheme تقرا الريجستري وتطبق الثيم الصحيح
سياق اعدادات Git الاعدادات المحلية تُحفظ في مجلد السكربت مو المستودع المحدد الحفظ والقراءة من مسار المستودع المختار
لون اشعار التحذير النص الغامق يتسرب للاشعارات اللاحقة اعادة ضبط Foreground قبل كل اشعار
فقدان اخطاء git مخرجات stderr تختفي بصمت التقاط 2>&1 وتسجيلها في Activity Log
تسرب Timer الـ Timer يستمر بعد اغلاق النافذة $window.Add_Closed يوقف الـ Timer
شاشة المساعدة CLI العنصر "1)" مفقود من قائمة المساعدة اضافة النص الصحيح
اعادة تعريف الدالة Get-MenuIndex تُعاد تعريفها كل دورة في الحلقة نقلها خارج الحلقة
رسالة commit غير محمية $msg بدون علامات تنصيص يفشل مع المسافات "$msg" لحماية الاحرف الخاصة
عدم وقف عند الفشل Magic Push CLI تطبع "اكتمل" حتى لو فشلت خطوات متغير $allOk يتتبع النجاح/الفشل
تقسيم CRLF git status يُقسم على \n فقط مما يسبب بقايا \r تغيير لـ \r?\n
Push/Pop-Location اختلال في Dashboard عند فتح المحرر او GitHub لف بـ try/finally لضمان التوازن
Sleep غير ضروري Start-Sleep 2 بعد فتح المحرر رغم ان Start-Process لا تحجب ازالة التاخير

التقنيات المستخدمة

التقنية الاستخدام الاصدار
PowerShell لغة البرمجة الاساسية 5.1+
WPF (XAML) الواجهة الرسومية .NET Framework 4.5+
Git CLI ادارة المستودعات 2.x
DispatcherTimer اشعارات Toast المؤقتة WPF Built-in
BrushConverter تحويل الالوان للثيمات WPF Built-in
Windows Registry كشف ثيم النظام (Dark/Light) HKCU
8.3 Short Path دعم المسارات العربية في PS 5.1 COM FileSystemObject
SnapsToDevicePixels منع اختفاء الايقونات عند تبديل النوافذ WPF Rendering
InvalidateVisual اعادة رسم العناصر عند استعادة التركيز WPF Rendering
Runspace تشغيل git في background thread منفصل PowerShell Threading
Synchronized Hashtable مشاركة بيانات thread-safe بين UI و Runspace .NET ConcurrentCollections
DispatcherTimer Polling مراقبة حالة العمليات غير المتزامنة WPF Threading
ConvertTo-Json حفظ واسترجاع الاعدادات PowerShell 5.1+ Built-in
GitHub CLI (gh) انشاء repos وفحص الاتصال GitHub CLI 2.x
XAML Child Window نافذة commit dialog ديناميكية WPF Runtime XAML

المميزات

الميزة GUI CLI الوصف
اكتشاف تلقائي نعم نعم يكتشف جميع مستودعات Git تلقائيا
لوحة تحكم Dashboard نعم نعم عرض تفصيلي لحالة كل مستودع
عمليات دفعية نعم نعم Status/Pull/Push على جميع المستودعات
Magic Push نعم نعم رفع مشروع جديد لـ GitHub بخطوة واحدة
Clone + Init نعم نعم استنساخ مع اعداد README تلقائي
ادارة الفروع نعم - انشاء، تبديل، وحذف الفروع
دعم Stash نعم - حفظ واسترجاع التغييرات المؤقتة
تبديل الثيم نعم - وضع ليلي/نهاري مع كشف ثيم النظام
اشعارات Toast نعم - تنبيهات انيقة لنتائج العمليات
شريط تقدم نعم - متابعة حية لتقدم العمليات
اعدادات Git محلية نعم - اعدادات خاصة لكل مستودع
اختصارات لوحة المفاتيح نعم - Ctrl+P/L/D/S و F5
Smart Commit نعم - نافذة commit مع نوع وملخص diff
Async Runspace نعم - عمليات git في background thread
كشف التعارضات نعم - كشف merge conflicts تلقائي
GitHub CLI نعم - انشاء repos + فحص الاتصال
حفظ الاعدادات نعم - settings.json للثيم والنافذة

المتطلبات

المتطلب الحد الادنى
Windows 10/11
PowerShell 5.1+
Git CLI 2.x
.NET Framework 4.5+ (للواجهة الرسومية فقط)

التثبيت والتشغيل

# استنساخ المستودع
git clone https://github.com/F2lcon01/Git-github_Helper_smart.git

# الانتقال للمجلد
cd Git-github_Helper_smart

تشغيل الواجهة الرسومية (موصى به)

.\GitHelper_GUI.ps1

تشغيل سطر الاوامر

.\GitHelpersmart4.4.ps1

ملاحظة: قد تحتاج لتعديل سياسة التنفيذ:

Set-ExecutionPolicy -ExecutionPolicy Bypass -Scope CurrentUser

اختصارات لوحة المفاتيح (GUI)

الاختصار الوظيفة
Ctrl+P رفع للـ GitHub
Ctrl+L سحب من GitHub
Ctrl+D فتح لوحة التحكم
Ctrl+S مزامنة جميع المستودعات
F5 تحديث لوحة التحكم

هيكل المشروع

Git-github_Helper_smart/
├── GitHelper_GUI.ps1          # الواجهة الرسومية (v7.0)
├── GitHelpersmart4.4.ps1      # سطر الاوامر (v4.4.1)
├── errors.md                   # سجل الاخطاء والحلول
├── History.md                  # تاريخ الاصدارات
├── Research-and-Development.md # البحث التقني
├── findings.md                 # القرارات التقنية
├── progress.md                 # سجل التقدم
├── task_plan.md                # خطة المهام
└── planning-with-files/        # قوالب التخطيط

الامان

هذا المشروع يتبع افضل ممارسات الامان:

  • بدون Invoke-Expression — كل الاوامر الخارجية تستخدم عامل & الامن
  • تحقق من الروابط — فحص regex يمنع حقن الاوامر عبر الروابط
  • فتح URI امن — فقط http:// و https:// مسموح فتحها
  • اعدادات Git محلية — بيانات الاعتماد تُحفظ لكل مستودع وليس عالميا
  • رفع الصلاحيات — يرفع تلقائيا عند الحاجة مع تراجع امن
  • التقاط stderr — اخطاء git تُسجل بدل ما تختفي بصمت
  • try/finally — كل Push-Location محمي بـ finally { Pop-Location } لمنع تسرب المسارات

سجل الاصدارات

الاصدار النوع ابرز التحديثات
v7.0 GUI Smart Commit, Async Runspace, Conflict Detection, GitHub CLI, Settings
v6.6.2 GUI تحصين امني، تحسين اداء، اصلاح 28 خطأ
v6.6.1 GUI اصلاح Timer، اصلاح عرض الايقونات
v6.6 GUI اعدادات Git محلية، تحسينات الثيم
v6.5 GUI ادارة الفروع، دعم Stash، اختصارات لوحة المفاتيح
v6.0 GUI شريط تقدم، اشعارات Toast، تبديل الثيم
v5.0 GUI اول اصدار للواجهة الرسومية WPF
v4.4.1 CLI اصلاحات امنية، استدعاءات git امنة، حماية المسارات
v4.4 CLI ميزة Magic Push
v4.2 CLI الاتصال الاول، بحث ذكي عن المحررات
v4.0 CLI الاصدار الاول

ملخص التحسينات التقنية

قبل وبعد

البند قبل (v6.6.1) بعد (v6.6.2)
تنفيذ اوامر git Invoke-Expression (غير امن) عامل & المباشر (امن)
فحص الروابط بدون تحقق Regex validation
تسرب الذاكرة Timer جديد مع كل Toast Timer واحد مُعاد استخدامه
دوال الثيم 100+ سطر مكرر Apply-Theme مع hashtable (30 سطر)
نطاق المتغيرات خليط $Global: و $Script: موحد على $Script:
حماية المسارات Set-Location بدون حماية Push/Pop-Location مع try/finally
اخطاء git تختفي بصمت (stderr مفقود) تُلتقط وتُسجل في Log
كشف ثيم النظام يُلغى فورا بالثيم الافتراضي يقرا الريجستري ويطبق الثيم الصحيح
فتح الروابط اي URI scheme مسموح فقط HTTP/HTTPS
git commit -m $msg بدون تنصيص "$msg" محمي
فشل Magic Push يطبع "اكتمل" حتى لو فشل $allOk يتتبع الحالة
تقسيم الاسطر \n فقط (يخلي بقايا \r) \r?\n (يدعم CRLF)

الترخيص

هذا المشروع مرخص تحت رخصة MIT.


صُنع باتقان من فريق Falcon01

GUI v7.0 | CLI v4.4.1

Made with PowerShell

© 2026 Falcon01 Team. All Rights Reserved.

Git Helper Footer

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages