أدوات CLI
2 دقيقة للقراءة
GitHub Copilot: الأوامر
مقدمة
هذا الدليل الشامل يغطي جميع أوامر GitHub Copilot CLI الأساسية والمتقدمة، مع أمثلة عملية ونصائح للاستخدام الأمثل.
الأوامر الأساسية
1. gh copilot suggest
الوصف: اقتراح أوامر terminal بناءً على الوصف الطبيعي
# الصيغة الأساسية
gh copilot suggest "[وصف باللغة الطبيعية]"
# أمثلة
gh copilot suggest "find all python files"
gh copilot suggest "compress folder into tar.gz"
gh copilot suggest "kill process on port 3000"
الخيارات المتاحة:
# الحصول على اقتراحات متعددة
gh copilot suggest "list files" --suggestions 3
# تخصيص shell (bash, zsh, powershell)
gh copilot suggest "create alias" --shell bash
# اقتراح تفاعلي (اختر من الاقتراحات)
gh copilot suggest "deploy app" --interactive
مثال متقدم:
gh copilot suggest "backup mysql database with date in filename"
# الاقتراحات:
# 1. mysqldump -u root -p dbname > backup_$(date +%Y%m%d).sql
# 2. mysqldump --user=root --password dbname > "backup_$(date +%F).sql"
# 3. docker exec mysql mysqldump -u root -p dbname > backup_$(date +%Y%m%d_%H%M%S).sql
2. gh copilot explain
الوصف: شرح أمر terminal معقد
# الصيغة الأساسية
gh copilot explain "[الأمر المراد شرحه]"
# أمثلة
gh copilot explain "find . -type f -name '*.log' -mtime +7 -delete"
gh copilot explain "docker run -d -p 8080:80 --name web nginx:alpine"
الخيارات المتاحة:
# شرح تفصيلي
gh copilot explain "tar -xzvf file.tar.gz" --detailed
# شرح مع أمثلة
gh copilot explain "grep -r 'TODO' src/" --with-examples
مثال متقدم:
gh copilot explain "kubectl rollout restart deployment/app -n prod"
# الشرح:
# kubectl: Kubernetes CLI tool
# rollout restart: Restart deployment with zero downtime
# deployment/app: Target deployment named 'app'
# -n prod: In namespace 'prod'
# Result: Restarts all pods in app deployment in production namespace
الأوامر المتقدمة
3. gh copilot suggest مع pipes
# استخدام pipes (|)
gh copilot suggest "find large files and sort by size"
# الاقتراح:
# find . -type f -exec du -h {} + | sort -rh | head -20
# أمثلة أخرى
gh copilot suggest "count lines of code in project"
# find . -name '*.ts' -o -name '*.tsx' | xargs wc -l
gh copilot suggest "find duplicate files by name"
# find . -type f -printf '%f\n' | sort | uniq -d
4. gh copilot للـ Git Workflows
# Undo commits
gh copilot suggest "undo last 3 commits but keep changes"
# الناتج:
# git reset HEAD~3
# Merge branches
gh copilot suggest "merge feature branch with strategy"
# الناتج:
# git merge feature-branch --no-ff --no-commit
# Clean branches
gh copilot suggest "delete all merged branches except main"
# الناتج:
# git branch --merged | grep -v "\*" | grep -v "main" | xargs git branch -d
5. gh copilot للـ DevOps
# Docker operations
gh copilot suggest "stop all running docker containers"
# الناتج:
# docker stop $(docker ps -q)
# Docker cleanup
gh copilot suggest "remove all unused docker images and volumes"
# الناتج:
# docker system prune -a --volumes -f
# Kubernetes operations
gh copilot suggest "get all pods in all namespaces"
# الناتج:
# kubectl get pods --all-namespaces
Aliases المفيدة
Bash/Zsh
# إضافة إلى ~/.bashrc أو ~/.zshrc
alias cs='gh copilot suggest'
alias ce='gh copilot explain'
# الاستخدام
cs "list json files"
ce "jq -r '.[].name' data.json"
PowerShell
# إضافة إلى $PROFILE
function cs { gh copilot suggest $args }
function ce { gh copilot explain $args }
# الاستخدام
cs "get process by name"
ce "Get-Process | Sort-Object CPU -Descending"
نصائح الاستخدام
DO's ✅
-
كن واضحاً في الوصف
# جيد gh copilot suggest "find files larger than 100MB modified in last 7 days" # أقل وضوحاً gh copilot suggest "big files" -
استخدم shell المحدد
gh copilot suggest "create alias" --shell zsh -
اطلب عدة اقتراحات
gh copilot suggest "compress files" --suggestions 3 -
افهم قبل التنفيذ
# دائماً افهم الأمر أولاً gh copilot explain "[الأمر]" # ثم نفذه -
اختبر في بيئة آمنة
# استخدم sandbox أو test environment # قبل التنفيذ على production
DON'Ts ❌
-
لا تنفذ أمراً دون فهمه
# سيء gh copilot suggest "delete all files" # [ينفذ مباشرة] 🚨 # جيد gh copilot suggest "delete all files" # افهم الناتج أولاً # ثم نفذ -
لا تستخدم للبيانات الحساسة
# سيء gh copilot explain "echo 'API_KEY=secret123' > .env" -
لا تعتمد كلياً على الاقتراحات
# راجع دائماً الناتج # تحقق من صحة الأمر
أمثلة عملية
1. إدارة الملفات
# البحث عن الملفات المكررة
gh copilot suggest "find duplicate files by content"
# الناتج:
# fdupes -r ./directory
# حذف الملفات المؤقتة
gh copilot suggest "delete all .tmp files"
# الناتج:
# find . -name "*.tmp" -type f -delete
2. مراقبة النظام
# مراقبة الذاكرة
gh copilot suggest "monitor memory usage in real time"
# الناتج:
# watch -n 1 free -h
# مراقبة العمليات
gh copilot suggest "show top 5 processes by CPU usage"
# الناتج:
# ps aux | sort -rk 3,3 | head -n 6
3. الشبكات
# اختبار الاتصال
gh copilot suggest "test connectivity to server"
# الناتج:
# ping -c 4 example.com
# عرض المنافذ المفتوحة
gh copilot suggest "show all open listening ports"
# الناتج:
# netstat -tuln | grep LISTEN
استكشاف الأخطاء
"gh: command not found"
# الحل: ثبت GitHub CLI
# macOS
brew install gh
# Windows
winget install GitHub.cli
# Linux
sudo apt install gh # Ubuntu/Debian
sudo dnf install gh # Fedora
"extension not found"
# الحل: أعد تثبيت الامتداد
gh extension remove github/gh-copilot
gh extension install github/gh-copilot
"authentication failed"
# الحل: أعد تسجيل الدخول
gh auth logout
gh auth login
ملخص سريع
| الأمر | الوصف | مثال |
|---|---|---|
gh copilot suggest | اقتراح أوامر | gh copilot suggest "list files" |
gh copilot explain | شرح أوامر | gh copilot explain "ls -la" |
--suggestions N | عدد الاقتراحات | --suggestions 3 |
--shell | تحديد shell | --shell bash |
--detailed | شرح مفصل | --detailed |
--interactive | اختيار تفاعلي | --interactive |
الخلاصة
Copilot CLI يوفر أمرين أساسيين فقط:
suggest- لاقتراح أوامر جديدةexplain- لشرح أوامر موجودة
لكن قوته تكمن في:
- فهم اللغة الطبيعية
- اقتراحات ذكية ومتعددة
- تكامل مع GitHub ecosystem
- دعم جميع shells الرئيسية
ابدأ اليوم:
gh copilot suggest "help me be more productive"