Git Push
آخر تحديث
يرفع git push الـ commits الموجودة على فرعك المحلي إلى نظيره البعيد (مثل GitHub). بمجرد ضبط الـ upstream لأحد الفروع، يكفي git push بسيط؛ أما أول دفعة لفرع جديد فتستخدم -u لإنشاء الفرع البعيد وإعداد التتبع، بحيث لا تحتاج عمليات الدفع والسحب اللاحقة إلى أي وسائط.
جرّب هذه الأوامر في ساحة الطرفية - صدفة حقيقية في متصفحك، دون الحاجة إلى تثبيت أي شيء.
الصياغة
| Command | What it does |
|---|---|
git push | يدفع الفرع الحالي إلى الـ upstream الخاص به |
git push -u origin feature | يدفع فرعًا جديدًا ويضبط الـ upstream |
git push origin main | يدفع إلى مستودع بعيد وفرع محددين |
git push --tags | يدفع كل الوسوم المحلية |
git push --force-with-lease | force push آمن بعد إجراء rebase |
الحالات الشائعة
| Goal | Command |
|---|---|
| دفع فرع جديد تمامًا | git push -u origin feature |
| الدفع بعد ضبط الـ upstream | git push |
| دفع وسم واحد | git push origin v1.0.0 |
| حذف فرع بعيد | git push origin --delete feature |
الأسئلة الشائعة حول git push
كيف أدفع فرعًا جديدًا إلى المستودع البعيد؟
شغّل
git push -u origin <branch>. الوسيط -u (اختصار لـ --set-upstream) ينشئ الفرع على المستودع البعيد ويربط فرعك المحلي به، بحيث يعمل بعدها git push وgit pull البسيطان دون وسائط. الفرع البعيد غير موجود حتى هذه الدفعة الأولى.لماذا يقول git push عبارة 'no upstream branch'؟
لأن فرعك المحلي غير مرتبط بعد بفرع بعيد. ادفعه باستخدام
git push -u origin <branch> لإنشاء الفرع البعيد وضبط الـ upstream. بعد ذلك يعرف git push وحده إلى أين يرسل الـ commits.كيف أدفع الوسوم؟
لا تُدفع الوسوم افتراضيًا. ادفع وسمًا واحدًا باستخدام
git push origin <tagname>، أو ادفعها جميعًا دفعة واحدة باستخدام git push --tags. هذه مزلقة شائعة - الوسم الذي أنشأته محليًا لن يظهر على المستودع البعيد حتى تدفعه صراحةً.كيف أنفّذ force push بأمان؟
بعد إعادة كتابة التاريخ (عبر rebase أو amend)، استخدم
git push --force-with-lease بدلًا من --force. فهو يستبدل المستودع البعيد فقط إذا لم يدفع أحد غيرك منذ آخر fetch لك، مما يحمي عمل زملائك في الفريق. راجع صفحة git force push للحصول على الشرح الكامل.هل يمكنني التدرب على هذا عبر الإنترنت؟
نعم. افتح ساحة الطرفية لتشغيل
git push في صدفة حقيقية داخل متصفحك - دون الحاجة إلى تثبيت أي شيء. كما يغطي مساق Git التفاعلي المجاني من Coddy العمل مع المستودعات البعيدة خطوة بخطوة.