ورقة مرجعية لأوامر Git

التالي

يحتوي Git على حوالي 150 أمرًا فرعيًا، ويبدو عدد منها متشابهًا إلى حد خطير، مثل reset مقابل restore، وcheckout مقابل switch، وrm مقابل restore --staged. يجمع هذا المرجع الموجز الأوامر التي تكتبها فعليًا حسب الموقف: سير العمل اليومي، التفرّع، إلغاء الأخطاء، وحفظ العمل مؤقتًا (stash). اختر المجموعة وانسخ الكتلة.

كيفية استخدام ورقة المساعدة

  1. 1

    اختر موضوعًا

    اليومي، التفرع، إلغاء أو تخزين، كل منها يرتبط بنمط ذهني مختلف.

  2. 2

    تصفّح الكتلة

    كل سطر أمر كامل قابل للتنفيذ؛ ولا توجد عناصر نائبة داخل أقواس زاوية ما لم تُحدَّد صراحةً.

  3. 3

    انسخ الأمر الذي تحتاجه

    الصقه في الطرفية (terminal) الخاصة بك، عدّل اسم الفرع أو معرّف الالتزام (SHA)، ثم شغّله.

لماذا ما زالت الأوامر تُربك حتى المستخدمين المتمرسين

نمت واجهة Git النصية بالتراكم. حُمِّل الأمر checkout بأكثر من معنى: “تبديل الفرع” و“استعادة الملف“؛ بينما يقع الأمر reset بين “إلغاء العمل” و“تحريك مؤشر الفرع“. منذ إصدار Git 2.23، أصبحت هناك أوامر أوضح:

قديم جديد (أوضح)
git checkout branch git switch branch
git checkout -b new git switch -c new
git checkout -- file git restore file
git checkout --staged file git restore --staged file

سلّم الإلغاء الآمن

  1. استعادة ملف واحد: git restore path/to/file (غير مُجهَّز) أو git restore --staged path/to/file (مُجهَّز لكن غير مُلتزَم به).
  2. إلغاء آخر التزام مع الاحتفاظ بالتغييرات: git reset --soft HEAD~1.
  3. إلغاء آخر التزام مع التخلص من التغييرات: git reset --hard HEAD~1 (عملية تدميرية؛ تأكد من عدم وجود عمل غير مُلتزَم به).
  4. التراجع عن التزام مشترك: git revert <sha>، يُنشئ التزامًا جديدًا يُلغي القديم؛ وهو آمن على السجل المُرسَل.

آداب الـ stash

  • خزّن دائمًا مع رسالة: git stash push -m "wip: ربط الـ API".
  • اعرض المخازن عبر git stash list قبل استرجاعها، فالمخازن المجهولة تتراكم بسرعة.
  • يُطبّق git stash pop ثم يحذف؛ ويُطبّق git stash apply مع الاحتفاظ.

الاسترداد

هل فقدت التزامًا بعد إعادة تعيين قوية؟ من المرجّح أنه ما زال موجودًا في سجل الإحالة (reflog). شغّل git reflog لعرض كل تحركات HEAD خلال الـ90 يومًا الماضية، ثم استخدم git reset --hard <sha> للعودة إلى حالة جيدة.

الأسئلة الشائعة

منذ إصدار Git 2.23 (أغسطس 2019)، قسّم المشروع الأمر checkout المُحمَّل بأكثر من معنى إلى أمرين: switch لتغيير الفروع، وrestore لإصلاح الملفات. ولا يزال كلا الأمرين موجودين للتوافق مع الإصدارات السابقة، لكنهما أسهل في القراءة عند مراجعة سجل الأوامر.

يقوم reset بنقل مؤشر الفرع (وقد يشمل أيضًا شجرة العمل عند الحاجة). أما revert فيقوم بإنشاء عملية تثبيت جديدة تُلغِي عملية تثبيت سابقة، وهي عملية آمنة على فرع مشترك. وفي المقابل، تقوم checkout وrestore بتغيير الملفات الموجودة في شجرة العمل دون إعادة كتابة سجل التغييرات.

استخدم git revert <sha> لإضافة عملية التأكيد التعويضية ثم نشرها. تجنّب استخدام git reset --hard + git push --force على الفروع المشتركة ما لم يتفق الفريق صراحةً على ذلك.

الأوامر نص ثابت يُعرض في الصفحة. الموضوع الذي تختاره يُرسل إلى الخادم لعرض الأوامر المطابقة فقط، ويُحمَل في رابط الصفحة عند التنقل بين الخطوتين. لا يتم تخزينه أو تسجيله.

أدوات ذات صلة

الأداة متاحة بلغات أخرى