هل تعرف Git حقًا؟

تحميل الإختبار....

قائمة الأجوبة

هل تعرف Git حقًا؟ — ورقة الأجوبة الخاصة بالإختبار.

1. Git و GitHub هما الشيء نفسه.

الجواب: خطأ

الشرح : Git هو نظام للتحكم في الإصدارات، بينما GitHub هو منصة تستضيف مستودعات Git.

2. لقد كتبت commit message تحتوي على خطأ إملائي في المستودع المحلي، كيف يمكنك إصلاحها؟

الجواب: git commit --amend

الشرح : يتيح لك الأمر 'git commit --amend' تعديل أحدث commit، بما في ذلك تغيير رسالة الـ commit.

3. ما الذي يتيحه لك هذا الأمر: git add -p

الجواب: اختيار أجزاء معينة من التغييرات لإضافتها إلى مرحلة الإعداد (stage)

الشرح : يتيح لك الأمر git add -p مراجعة التغييرات تفاعليًا واختيار الأجزاء المحددة (hunks) لإضافتها إلى commit التالي.

4. ماذا يفعل هذا الأمر: git switch --detach HEAD^^^

الجواب: يفصل HEAD ويعيده ثلاث commits إلى الخلف

الشرح : HEAD^^^ تعادل HEAD~3، وتشير إلى commit الذي يسبق HEAD بثلاث خطوات. يقوم الأمر بفصل HEAD والإشارة إلى ذلك commit.

5. أي من الملفات التالية غير معترف بها رسميًا من Git؟

الجواب: .gitkeep

الشرح : ملف .gitkeep ليس ملفًا رسميًا في Git، بل هو اصطلاح يستخدمه المطورون للاحتفاظ بالمجلدات الفارغة، لأن Git لا يتتبع المجلدات الفارغة.

6. ماذا يفعل هذا النمط في .gitignore؟ *.sw[op]

الجواب: يتجاهل الملفات ذات الامتداد .swo و .swp

الشرح : النمط *.sw[op] يستخدم مجموعة الأحرف [op] لمطابقة 'o' أو 'p'، لذا فإنه يتجاهل الملفات التي تنتهي بـ .swo و .swp.

7. ماذا يفعل هذا الأمر؟ git switch -

الجواب: ينتقل إلى الفرع السابق

الشرح : الأمر git switch - هو اختصار للعودة إلى الفرع السابق الذي كنت عليه، مثل cd - في نظام Linux.

8. لديك تغييرات غير محفوظة وتحتاج إلى التبديل إلى فرع آخر، أي أمر يمكنك استخدامه؟

الجواب: git stash أو git switch -c <new-branch>

الشرح : يمكنك استخدام 'git stash' لحفظ التغييرات مؤقتًا حتى تتمكن من التبديل بين الفروع دون فقدان عملك. أو يمكنك إنشاء فرع جديد يحتوي على تغييراتك غير المحفوظة باستخدام 'git switch -c <new-branch>'.

9. ما الفرق بين git stash pop و git stash apply؟

الجواب: pop يزيل الـ stash بعد تطبيقه، بينما apply يبقيه

الشرح : الأمر pop يطبق الـ stash ثم يزيله من قائمة الـ stash، بينما الأمر apply يطبقه لكنه يبقيه متاحًا للاستخدام لاحقًا.

10. هل يمكنك إنشاء مجلدَي عمل (worktrees) يشيران إلى نفس الفرع؟

الجواب: نعم، ولكن يجب استخدام الخيار --force

الشرح : بشكل افتراضي، يمنع Git وجود عدة مجلدات عمل تشير إلى نفس الفرع لتجنب التعارض. ومع ذلك، يمكنك تجاوز هذا السلوك باستخدام الخيار --force مع الأمر git worktree add، مما يسمح لعدة مجلدات عمل بالإشارة إلى نفس الفرع.

11. متى يحدث الدمج السريع (fast-forward merge)؟

الجواب: عندما يكون الفرع المستهدف سَلَفًا للفرع المصدري

الشرح : يحدث الدمج السريع عندما يكون الفرع الذي يتم الدمج فيه هو بالفعل سَلَف للفرع الآخر. في هذه الحالة، يقوم Git فقط بتحريك المؤشر للأمام دون إنشاء عملية دمج جديدة (merge commit).