مدرسة Git · FluxGit

تعلّم Git بالتجربة

حل مشكلات Git اليومية في مستودع تفاعلي. جرّب الأوامر، وشاهد تغير الرسم، ثم تابع مع الدليل والفيديو.

جرّب في المتصفح

اختر درسًا أو استكشف بحرية. نفّذ أوامر Git المقترحة وشاهد كيف يتغير المستودع.

يستخدم التدريب مستودعًا محاكى في ذاكرة المتصفح. لا يصل إلى ملفاتك ولا يتصل بمستودع بعيد حقيقي.

استكشف مستودعًا صغيرًا دون هدف محدد. جرّب الأوامر المدعومة وشاهد ما يتغير عندما يدفع زميل تغييرات.

يدعم هذا المحاكي مجموعة من أوامر Git. توضح الطرفية حدود الأوامر غير المدعومة.

G9

أنشأت إيداعًا في الفرع الخطأ

أنشأت في main إيداعًا مكانه feature/discounts، ولم تدفعه بعد.

انقل «Apply discounts» إلى feature/discounts وأزله من main.

G4

صحّح آخر إيداع: الرسالة وملف منسي

رسالة آخر إيداع هي «Add stylsheet»، ولم يتضمن style.css. لم تدفعه بعد.

استبدل آخر إيداع بآخر يتضمن style.css والرسالة «Add stylesheet»، ثم ادفعه.

G5

تراجع عن إيداع قبل الدفع وبعده

لديك إيداعات لا ينبغي الاحتفاظ بها. أحدها على جهازك فقط، وآخر أقدم دُفع بالفعل.

تراجع عن الإيداع المحلي، ثم عن المدفوع دون إعادة كتابة السجل المشترك.

G8a

تراجع عن git reset --hard

نفّذت git reset --hard HEAD~2 واختفى إيداعان.

اعثر على الإيداعات المفقودة وأعد main إلى موضعها.

G6

حل تعارض دمج

عدّل main وfeature/title السطر نفسه في index.html.

ادمج feature/title في main واحتفظ بالعنوان الذي تختاره.

G10

HEAD منفصل: احتفظ بعملك

فتحت إيداعًا قديمًا وأنشأت إيداعًا فيه، ويعرض Git الآن «HEAD detached».

ضع إيداعك على فرع للاحتفاظ بمرجع إليه.

G11

تباعد فرعك عن origin

أنشأت إيداعًا بينما دفع زميل إيداعًا آخر. يخبرك git status الآن بأن فرعك وorigin/main قد تباعدا.

اجلب إيداع زميلك، وأعد تطبيق إيداعك بعده، ثم ادفع النتيجة.

G12

بدّل الفرع مع عمل غير مكتمل

أنت في منتصف تعديل على main وتحتاج إلى إصلاح شيء على hotfix فورًا.

ضع عملك جانبًا، ونفّذ الإصلاح على hotfix، ثم عد واسترجع عملك.

G8b

استعد فرع Git محذوفًا

حذفت feature/search باستخدام git branch -D، وكان يتضمن إيداعًا لا يملكه غيرك.

استعد feature/search مع إيداعه.

مدرسة Git · G6

جرّب في المتصفح

عدّل main وfeature/title السطر نفسه في index.html.

الهدف: ادمج feature/title في main واحتفظ بالعنوان الذي تختاره.

يستخدم التدريب مستودعًا محاكى في ذاكرة المتصفح. لا يصل إلى ملفاتك ولا يتصل بمستودع بعيد حقيقي.

أوامر للتدريب

يدعم هذا المحاكي مجموعة من أوامر Git. توضح الطرفية حدود الأوامر غير المدعومة.

git merge feature/title
cat index.html
echo "<h1>Our Best Shop</h1>" > index.html
git add index.html
git commit --no-edit

باستخدام FluxGit

  • قبل الدمج، يتوقع Operation Plan التعارض بين فروعك الحقيقية.
  • يعرض المحرر الثلاثي الجانبين والنتيجة؛ علّم التعارض كمحلول أو تراجع عن الدمج إذا غيّرت رأيك.
تنزيل FluxGit مدرسة Git
إيداع جزء من ملف في Git: جهّز الإصلاح فقط

إيداع جزء من ملف في Git: جهّز الإصلاح فقط

أصلحت خطأ وتركت طباعة للتصحيح في الملف نفسه؟ جهّز الإصلاح فقط للإيداع. تعرّف إلى منطقة التجهيز في Git وزر Stage change في FluxGit والأمر git add -p.

قراءة الدليلمشاهدة الشرح
Git worktree أم submodule: أيهما تستخدم ومتى

Git worktree أم submodule: أيهما تستخدم ومتى

worktree أم وحدة فرعية؟ يحلان مشكلتين مختلفتين. worktree هو مجلد عمل ثانٍ للمستودع نفسه. أما الوحدة الفرعية فهي مستودع آخر مضمن داخل مستودعك ومثبت عند commit محدد.

قراءة الدليلمشاهدة الشرح

باستخدام FluxGit

حل مشكلات Git اليومية في مستودع تفاعلي. جرّب الأوامر، وشاهد تغير الرسم، ثم تابع مع الدليل والفيديو.

تنزيل FluxGit