أهم 30 سؤالاً وإجابات حول مقابلة Git تحتاج إلى معرفتها في عام 2022
نشرت: 2021-01-04تزداد شعبية Git. يعمل المطورون باستمرار على إطلاق إصدارات أحدث من التطبيق غير التجريبي لإصلاح الأخطاء أو لتحسين وظائفه. يعمل Git من خلال العمل كعنصر تحكم في الإصدار حيث يتم تخزين جميع التغييرات في مستودع مركزي واحد.
يمكن لكل مطور في الفريق عرض الإصدارات وإجراء التغييرات ثم تحميلها. كما أنه يعمل جيدًا بشكل لا يصدق للأشخاص الذين يعملون في فرق بعيدة أو يعملون من المنزل. لا يستخدم المطورون Git فقط. حتى غير المطورين في الفريق يمكنهم استخدامه للحصول على أحدث إصدار أو إصدار معين من التطبيق واستخدامه للاختبار أو لأعمال أخرى.
عندما تكون Git أداة سطر أوامر ، فإن Git Hub هو المركز ، حيث يحفظ المبرمجون مشاريعهم ويتواصلون مع فريق.
وبالتالي ، فإن معرفة Git أمر مطلوب ، ومع زيادة الطلب ، قمنا بتشكيل مجموعة من أسئلة مقابلة Git التي من شأنها أن تساعدك في الحصول على وظيفة. لتسهيل الفهم ، سنقسم أسئلة مقابلة GitHub إلى ثلاثة أقسام - مبتدئين ومتوسطين ومتقدمين.
جدول المحتويات
أسئلة مقابلة بوابة المستوى الأساسي
س 1) اشرح الفرق بين SVN و Git
- SVN هي أداة تحكم في الإصدار مركزية تنتمي إلى الجيل الثاني ، على عكس Git ، وهي أداة تحكم في الإصدار اللامركزية تنتمي إلى الجيل الثالث.
- في SVN ، يحفظ مستودع الخادم الجانبي محفوظات الإصدار. في Git ، يمكنك نسخ المستودع بالكامل على جهاز الكمبيوتر الخاص بك.
- في SVN ، لا يمكنك الالتزام إلا عندما تكون متصلاً بالإنترنت ، على عكس Git حيث يمكنك الالتزام حتى عندما تكون غير متصل بالإنترنت.
- تكون عمليات السحب والدفع أبطأ في SVN مقارنةً بـ Git حيث تكون أسرع.
- في SVN ، لا تتم مشاركة عملك حتى تقوم بذلك ، على عكس Git ، الذي يتم مشاركته تلقائيًا.
س 2) ما هو جيت؟

يسمح Git للمطورين وأعضاء الفريق بتتبع التغييرات التي يقوم بها أي شخص. يتيح لك أيضًا الرجوع إلى الإصدارات القديمة. إنه نظام تحكم في الإصدار الموزع يساعد الفريق على معرفة من قام بالتغييرات وفي أي تاريخ ووقت. لديها مجموعة من المزايا الخاصة بها على أنظمة التحكم في الإصدارات الأخرى.
أكبر فائدة لـ Git هي أنه لا يعتمد على خادم مركزي لحفظ جميع إصدارات المشروع. يمكن للمطورين إنشاء نسخ (نسخ) من المستودع على أنظمتهم الخاصة ، مما يعرض السجل بالكامل. هذا يساعد بشكل خاص عندما يكون هناك انقطاع كبير. في Git ، يوجد مستودع سحابي مركزي حيث يمكن للمبرمجين أو أعضاء الفريق إجراء تغييرات ومشاركتها مع فريقهم.
س 3) ما الفرق بين GitHub و Git؟
تسمى خدمة استضافة مستودع Git بـ GitHub. إلى جانب ذلك ، لديها ميزاتها الخاصة مثل أنها تقدم واجهة رسومية على شبكة الإنترنت. علاوة على ذلك ، يتيح GitHub أيضًا الوصول إلى جانب العمل كأداة إدارة للمشروع.
من ناحية أخرى ، Git هو نظام تحكم في الإصدار ذو طبيعة موزعة. يتم استخدامه بشكل أساسي لتتبع أي تغييرات يتم إجراؤها في التطبيق غير التجريبي. يوفر السرعة والدعم وتكامل البيانات. يمكن للمطورين وأعضاء الفريق الآخرين معرفة من قام بالتغييرات وفي أي تاريخ.
س 4) ما هي مزايا استخدام نظام التحكم في الإصدارات؟
إنه يساعد الفريق وأعضائه لأنه يمكنهم العمل في أي وقت حيث يمنحهم نظام التحكم في الإصدار المرونة لدمج التعديلات التي أجروها في الإصدار المشترك دون أي متاعب.
يعرض السجل جميع الإصدارات القديمة ومتغيراتها ، مما يسمح لأعضاء الفريق بالعودة إلى الوراء إذا لزم الأمر. يمتلك أعضاء الفريق أيضًا لقطة للمشروع بأكمله.
يحتاج أعضاء الفريق إلى التعليق عند إجراء أي تعديلات ، مما يساعد الآخرين على فهم التغييرات الدقيقة التي تجعل المشروع أكثر تنظيماً. لا أحد يجب أن ينتظر تفسيرا. يعرف أعضاء الفريق بالضبط من قام بتغيير الإصدار ولماذا.
إذا كان هناك انقطاع مؤسف في الخادم ، فإن برنامج VCS الموزع مثل Git يمكّنك من الحصول على السجل الكامل لمشروعك حيث يمكن تنزيله على سطح المكتب.
س 5) ما هي اللغة المستخدمة في Git؟
اللغة التي يستخدمها Git هي لغة "C" لأن السرعة التي تتطلبها GIT يمكن إرضائها من خلال لغة "C" لأنها تقلل من أوقات التشغيل ، على عكس اللغات عالية المستوى الأخرى.
س 6) أخبرنا ببعض وظائف استضافة مستودع Git
- جيثب
- جيتلاب
- المصدر
- Bitbucket
- جيت إنتربرايز
س 7) كيف تلتزم Git؟
لكتابة رسالة الالتزام ، تحتاج إلى كتابة الأمر "git الالتزام -a".
الأمر -a الموجود في سطر الأوامر هو git لإلزام المحتوى الأحدث لجميع الملفات المتعقبة التي تم تغييرها. يمكنك استخدام الأمر "git add <file>" قبل git الالتزام -a إذا كانت الملفات الجديدة تتطلب الالتزام للمرة الأولى.
س 8) كيف يمكنك إصلاح الالتزام المكسور؟
يمكنك استخدام الأمر "git الالتزام –amend" لإصلاح الالتزام التالف. من خلال تشغيل هذا الأمر ، فإنه يصلح رسالة التنفيذ المعطلة في المحرر.
قراءة: أهم أسئلة مقابلة Nagios
س 9) ماذا يعني المستودع في Git؟
إنه مكان يحفظ فيه Git جميع الملفات. لدى Git القدرة على تخزين الملفات على المستودع البعيد وكذلك المستودع المحلي.
س 10) كيف يمكنك إنشاء مستودع؟
يعد إنشاء مستودع أمرًا بسيطًا في Git. تحتاج إلى إنشاء دليل للمشروع إذا لم يكن قد تم بالفعل. ستحتاج بعد ذلك إلى تشغيل الأمر "git init". يقوم هذا الأمر بإنشاء دليل git في دليل المشروع.
س 11) اشرح "المستودع المجرد" في Git؟
يتم استخدام مستودع Git العاري بشكل عام كمستودع بعيد حيث تشاركه مع أعضاء فريقك أو أشخاص آخرين. لا توجد شجرة عاملة بداخلها لأنه لا يوجد عمل يتم إنجازه داخل المستودع البعيد. في الملفات الأخرى ، لا توجد ملفات داخل هذا ، والتي ستقوم بتحريرها. على العكس من ذلك ، يحتوي دليل العمل على دليل فرعي .git مع كل محفوظات الإصدار وأيضًا شجرة تعمل.
س 12) ماذا تقصد ب "الصراع" في git؟
عادةً ما يدير Git جميع عمليات الدمج باستخدام ميزات الدمج التلقائي الخاصة به. ولكن قد يكون هناك تعارض إذا تم تحرير فرعين منفصلين في نفس سطر الملف بالضبط. يمكن أن يحدث ذلك أيضًا عند حذف ملف من فرع ، ولكن تم تحريره في فرع آخر. لا بد أن يحدث هذا عندما تعمل في بيئة جماعية.
س 13) ما هو git is-tree؟
يمثل "git is-tree" كائنًا شجريًا يشتمل على الوضع واسم العنصر بالإضافة إلى قيمة SHA-1 للشجرة أو النقطة الثنائية الكبيرة.
أسئلة مقابلة Git المستوى المتوسط
س 14) كيف تحل الخلاف إذا نشأ في جيت؟
يمكنك حل التعارض في Git بالطرق التالية:
- حدد الملفات التي تسببت في تصاعد الصراع.
- قم بحل التعارض عن طريق إجراء تغييرات على هذا الملف المحدد.
- أضف هذه الملفات مرة أخرى عن طريق الأمر git add.
- استخدم الأمر git الالتزام لتثبيت الملف.
س 15) إذا تم دفع الالتزام بالفعل ونشره على الملأ ، كيف يمكنك إرجاعه مرة أخرى في Git؟
هناك طريقتان يمكنك من خلالهما القيام بذلك ، اعتمادًا على الموقف:
- يمكنك إزالته تمامًا أو إصلاح الملف التالف في التزام جديد ثم إعادته إلى المستودع البعيد. هذه هي الطريقة الأكثر استخدامًا لإصلاح هذه المشكلة. بعد إجراء التغييرات ذات الصلة على الملف ، باستخدام الأمر git الالتزام -m "إرسال رسالة" ، فإنك تلتزم به في المستودع البعيد.
- بدلاً من ذلك ، يمكنك إنشاء التزام جديد يلغي جميع التعديلات التي تم إجراؤها في الالتزام السيئ. يمكنك القيام بذلك باستخدام الأمر git revert <اسم الالتزام السيئ>
قراءة: أسئلة وأجوبة المقابلة Agile

س 16) ما هو SubGit؟
إنها أداة تسمح بالترحيل من SVN إلى Fit. يقوم بإنشاء مرآة Git قابلة للكتابة لمستودع تخريب محلي أو بعيد ويستفيد من كل من Subversion و Git طالما أردت. يمكنك استخدام SubGit لإنشاء مرآة Git-SVN ثنائية الاتجاه لمستودع Subversion الحالي. يمكنك أيضًا القيام باستيراد مرة واحدة بسرعة من Subversion إلى Git.
س 17) ما الفرق بين الأمر git pull وأمر git fetch؟
يسترد الأمر Git pull جميع التغييرات الجديدة أو يلتزم بها من فرع محدد من المستودع المركزي ويحدث فرع الوجهة في المستودع المحلي الخاص بك.
يتم استخدام أمر Git fetch لشيء مشابه ولكن له اختلاف طفيف. عند الجلب ، فإنه يسترد جميع الالتزامات الجديدة من فرع محدد ويحفظها في فرع جديد في مستودعك المحلي. إذا كنت ترغب في عكس هذه التغييرات في فرع الوجهة الخاص بك ، فيجب عليك استدعاء git merge.
وبالتالي ، Git pull = git fetch + git merge.
س 18) ما هو "الفهرس" أو "منطقة التدريج" في Git؟
تسمى المنطقة الوسيطة حيث يمكن تنسيق التغييرات أو مراجعتها قبل الالتزام بالفهرس أو منطقة التدريج في Git.
س 19) ما هو git stash؟ كيف يمكن تطبيق ذلك؟
هناك أوقات يجب فيها إيقاف جزء من العمل مؤقتًا حيث يتعين عليك العمل في فرع آخر كأولوية. لا يمكن الالتزام بالعمل نصف المنجز لأنه ليس في تلك المرحلة الكاملة ، لكنك تريد العودة والعمل عليه في وقت قصير. لحل هذه المشكلة ، تقدم git slash المساعدة.
يقوم بحفظه في كومة من التغييرات غير المكتملة والتي يمكنك إكمالها والالتزام بها لاحقًا. للعودة إلى هذا العمل ، كل ما عليك فعله هو استدعاء git stash لتطبيق الأمر. يجلب لك عملك من حيث تركته إلى دليل العمل الخاص بك.
س 20) كيف تختلف git diff عن "git status"؟
"git diff" يشبه تقريبًا "حالة git" ؛ الاختلاف الوحيد بينهما هو أن الأول يكشف الاختلافات بين الالتزامات المختلفة. "
س 21) كيف يختلف "git remote" عن "git clone"؟
إذا كنت ترغب في إنشاء إدخال في git config يذكر اسمًا لعنوان URL معين ، يمكنك استخدام "git remote add". من ناحية أخرى ، يُنشئ "git clone" مستودع git جديدًا عن طريق نسخ مستودع موجود على عنوان URL.
قراءة: أهم أسئلة وأجوبة مقابلة رد الفعل
س 22) صِفْ استراتيجيات التفرع
كل شركة لديها استراتيجياتها المتفرعة الخاصة بها. فيما يلي بعض أشهرها:
- تفريع الميزة - يحفظ نموذج فرع الميزة جميع التغييرات التي تم إجراؤها لميزة معينة داخل الفرع. فقط بعد إجراء اختبار شامل ، يتم دمج هذا الفرع مع سيده.
- إصدار التفريع - بمجرد وصول فرع التطوير إلى نقطة يكون فيها نوعًا ما جاهزًا للإصدار ؛ يمكنك استنساخه أو نسخه لتشكيل فرع تحرير. بعد الاستنساخ ، لا يتم إضافة ميزة جديدة إليه. يمكنك فقط إصلاح الأخطاء أو توثيقها أو القيام بمثل هذه الأنشطة المتعلقة بتحسينها للإصدار. بمجرد اختباره ، يتم دمجه مع سيده ويحصل على رقم إصدار. بالإضافة إلى ذلك ، يجب دمجه مرة أخرى في فرع التطوير ، والذي ربما يكون قد تقدم منذ إصدار الإصدار.
- تفريع المهام - في هذا النموذج ، يتم تنفيذ كل مهمة على فرعها الفردي مع الاحتفاظ بمفتاح المهمة في اسم الفرع. من الواضح معرفة الرمز الذي يؤدي المهمة من خلال البحث عن مفتاح المهمة في اسم الفرع.
س 23) اشرح سير عمل جيت؟
يخزن Gitflow تاريخ مشروع معين من خلال توظيف فرعين متوازيين طويل الأمد يتسمان بالسيطرة والتطور:
- سيد - هذا جاهز للذهاب فرع. يتم اختبار كل شيء واعتماده في هذا الفرع.
- الإصلاح العاجل - تُستخدم هذه الفروع لتصحيح إصدارات الإنتاج بسرعة. هم تقريبا مثل الفروع المميزة الخاصة بك والفروع المحررة ؛ بالإضافة إلى ذلك ، فهي تستند إلى الماجستير بدلاً من التطوير.
- تطوير - تم دمج جميع فروع الميزات في هذا الفرع. هذه هي التي تخضع للاختبار. فقط بعد اختبار صارم ، يتم دمجه مع الفرع الرئيسي.
- الميزة - يجب أن تجلس كل ميزة جديدة في فرعها الخاص ، والذي يتم دفعه بعد ذلك إلى الفرع الأصلي ، وهو فرع التطوير.
س 24) كيف يمكن معرفة ما إذا تم دمج فرع لإتقان؟
تساعدك الأوامر التالية في معرفة ما إذا كانت مدمجة أم لا:
فرع git –دمج - يسرد جميع الفروع التي تم دمجها في الفرع الحالي. يمكنك بعد ذلك معرفة ما إذا كان الأمر كذلك أم لا.
git Branch – no-merged - بدلاً من ذلك ، يمكنك استخدام هذا الأمر للتحقق من جميع الفروع التي لم يتم دمجها مع فرعها الرئيسي.
س 25) كيف يمكنك إزالة ملف من git دون حذفه من نظام الملفات الخاص بك؟
يجب أن تكون حذرًا أثناء إضافة الملفات إلى Git حتى لا ينتهي الأمر بإضافة ملفات خاطئة. سيقوم الأمر git rm بإزالته من كل من منطقة التدريج ونظام الملفات ، لذلك تحتاج بدلاً من ذلك إلى استخدام الأمر git reset.
يمكنك استخدام git reset filename أو echo filename >> .gitingore
س 26) اشرح إعادة التأسيس والدمج في Git؟
يمكنك استخدام الأمر rebase لدمج عمليات التحرير من فرع إلى آخر. يتم استخدامه كبديل لأمر الدمج. إنه بديل لأمر "الدمج". إنه يختلف عن الدمج لأنه يعيد كتابة تاريخ الالتزام من أجل إعطاء تسلسل مباشر ومرتّب للالتزامات.
أسئلة مقابلة Git للمستوى المتقدم:
س 27) كيف تسحق آخر N يرتكب في التزام واحد؟
هناك طريقتان لسحق N الأخيرة في التزام واحد وهما:
إذا كنت ترغب في إنشاء رسالة التزام جديدة من البداية ، يمكنك استخدام الأمر التالي:
إعادة تعيين git - رأس ناعم ~ N && git الالتزام
إذا كنت تريد ببساطة تحرير رسالة الالتزام الجديدة بسلسلة من رسائل الالتزام الحالية ، فأنت بحاجة إلى جلب هذه الرسائل وتمريرها إلى Git الالتزام من خلال استخدام الأمر:
إعادة تعيين git –soft HEAD ~ N && git الالتزام –edit -m ”$ (git log –format =٪ B –reverse .HEAD @ {N} )"
س 28) ما هي خطوات دمج Jenkins مع Git؟
الخطوة 1: تحتاج إلى النقر فوق لوحة معلومات Jenkins لإدارة زر Jenkins.
الخطوة 2: انقر فوق الزر إدارة المكونات الإضافية.
الخطوة 3: في صفحة الملحقات ، تحتاج إلى تحديد المكون الإضافي GIT. انقر فوق تثبيت بدون إعادة تشغيل. يتم تنزيل المكون الإضافي تلقائيًا ، اعتمادًا على سرعة الإنترنت لديك.
س 29) اشرح ما هو Git bisect ، وكيف تستخدمه للوصول إلى مصدر الخلل؟
باستخدام Git bisect ، يمكنك معرفة الالتزام الذي تسبب في الخطأ باستخدام البحث الثنائي. الأمر الخاص بـ Git bisect هو git bisect <subcommand> <options>
خوارزمية بحث ثنائية ، يعثر هذا الأمر على الالتزام الذي تسبب في الخطأ في المقام الأول. يختار Git bisect الالتزام بين نقطتي النهاية حيث تم إدخال الخطأ. تحتاج إلى تحديد ما بين الالتزام الجيد والسوء. يستمر في ترشيحها ، حتى يتم العثور على الالتزام الدقيق.

س 30) اشرح git reflog؟
يساعد الأمر "reflog" في تتبع كل تعديل تم إجراؤه على مراجع المستودع. إنه يحتفظ بسجل بيانات الفروع وحتى يحتفظ بعلامة لتلك التي تم إنشاؤها محليًا أو خارجها .
يجب تنفيذ هذا الأمر في المستودع الذي يحتوي على الفرع المفقود. في حالة وجود مستودع بعيد ، تحتاج إلى تشغيل الأمر reflog على نظام المبرمج الذي لديه الفرع.
احصل على شهادات في هندسة البرمجيات من أفضل الجامعات في العالم. اربح برامج PG التنفيذية أو برامج الشهادات المتقدمة أو برامج الماجستير لتتبع حياتك المهنية بشكل سريع.
خاتمة
نأمل أن تساعدك أسئلة مقابلة Git Hub في الحصول على وظيفة أحلامك. هذه هي الأسئلة الأكثر شيوعًا حول Git من قبل المحاور. نتمنى لك التوفيق في مقابلتك!
