الفرع البعيد = فرع موجود على الخادم البعيد (GitHub، GitLab، إلخ).
المفهوم الأساسي:
تشبيه: كأن لديك نسخة محلية من كتاب المكتبة.
mkdir demo-remote && cd demo-remote
git init && echo "print('main')" > app.py
git add . && git commit -m "Initial commit"
# إضافة بعيد (محاكاة GitHub)
git remote add origin https://github.com/user/repo.git
# إنشاء فرع يتتبّع بعيداً
git checkout -b feature-login
echo "print('login')" > login.py
git add . && git commit -m "Add login"
# الدفع وإنشاء التتبّع
git push -u origin feature-login
# التحقق من التتبّع
git branch -vv # رؤية أي فروع تتتبّع ماذاالنتيجة: فرعك المحلي feature-login يتبع origin/feature-login.
استرجاع التحديثات بلا دمج:
git fetch origin # تنزيل التغييرات
git status # هل فرعك متأخّر؟
git log --oneline origin/main # عرض الإيداعات البعيدة الجديدةالاسترجاع والدمج:
git pull origin main # = git fetch + git merge
# أو لفرعك المتتبَّع:
git pull # أبسطدفع تغييراتك:
git push # إن كان الفرع متتبَّعاً
git push origin feature-login # صريحعرض كل الفروع (محلية + بعيدة):
git branch -a # كل الفروع
git branch -r # البعيدة فقط
git remote show origin # تفاصيل البعيدحذف فرع بعيد:
git push origin --delete feature-old # الحذف على الخادم
git branch -d feature-old # الحذف محلياً
git fetch --prune # تنظيف المراجعإنشاء فرع محلي من بعيد:
git checkout -b local-name origin/remote-name
# أو أبسط:
git checkout remote-name # ينشئ التتبّع تلقائياً| الأمر | الإجراء |
|---|---|
git fetch | استرجاع التحديثات بلا دمج |
git pull | استرجاع + دمج |
git push -u origin <branch> | دفع + إنشاء تتبّع |
git branch -vv | عرض حالة التتبّع |
git remote show origin | معلومات مفصّلة عن البعيد |
git push origin --delete <branch> | حذف فرع بعيد |
git fetch --prune | تنظيف المراجع الميتة |
الفروع البعيدة = تنسيق الفريق. إتقانها = عمل سلس!