محتويات الدورة

Git وGitHub / الأساسي: نموذج Git المحلي / الدرس 3

التاريخ والفروق والفحص المبني على الأدلة

اقرأ اللقطات والنسب دون افتراض أن الرقعة المعروضة تحكي التاريخ كاملاً.

وقت القراءة التقريبي: 3 دقيقةتاريخ مراجعة المحتوى
في هذه الصفحة

أهداف الدرس

  • تنقل بين الإيداعات واختر نطاق مقارنة دقيقاً.
  • استخدم المسارات ومرشحات البحث مع فهم حدودها.

اقرأ الرسم قبل الرقعة

يبدأ git log من مراجع ويمشي التاريخ القابل للوصول. الترتيب والتنسيق منظر لرسم لا دليل تسلسل تطوير واحد. للدمج آباء عدة وتظهر الزخارف أسماء المراجع الحالية لا ملكية دائمة. ابدأ برسم محدود وحدد الإيداع ثم بياناته ورقعته. لا تساوِ أحدث وقت بالنسب؛ تختلف تواريخ المؤلف والمودع والآباء عند إعادة الأساس أو الاستيراد.

افحص تاريخاً محلياً محدوداً

في مختبر بإيداعي Create notebook وUpdate notebook ينتج سجل العناوين نصاً ثابتاً بلا توقع معرّفات أو تواريخ. أضف الرسم والزخارف للسياق واستخدم --all عند الحاجة للمراجع الأوسع. قد يبسط سجل المسار التاريخ ويحذف غير الملائم للعرض فلا يفسر الدمج كاملاً. احتفظ بالرسم الأصلي عند النسب المفاجئ. الفحص للقراءة لكن مخرجاته قد تحوي رسائل ومسارات خاصة.

bash قراءة العناوين ثم سياق الرسم
git log -2 --format=%s
git log --graph --oneline --decorate -8

يطبع الأول Update notebook ثم Create notebook وفق الإعداد. يحوي الرسم معرّفات ومراجع مولدة فيعتمد شكله على المختبر ولا يثبت هنا.

ميّز نطاق السجل من مقارنة الفرق

في السجل يختار A..B ما يصل من B لا A ويختار A...B الفرق المتماثل. في git diff تقارن A B الشجرتين، وتقارن A...B قاعدة الدمج مع B. تخدم العلامات أغراضاً مرتبطة ومختلفة. يشبه فرق طلب الدمج غالباً مقارنة قاعدة الدمج لا رأسي الفرعين. حدد السؤال: إيداعات فريدة أم محتوى تغير من أساس؟

اقرأ ملفاً سابقاً دون تبديل

يفحص git show ملفاً في إيداع دون تغيير الشجرة. يفيد لقراءة إعداد سابق. يفترض المثال HEAD ثاني إيداع وHEAD~1 سلف الأب الأول. يعتمد ترميز الأب على الرسم؛ تتبع ~ الآباء الأولى وتختار ^ أباً معيناً. اقتبس التعبير عند حاجة الصدفة واستخدم -- للمسارات حين يدعم الأمر. لا تعدل الملفات الحالية لقراءة الماضي.

bash فحص محتوى تاريخي وأسماء المسارات المتغيرة
git show HEAD~1:notes.txt
git diff --name-only HEAD~1 HEAD -- notes.txt

مع احتواء الأول A local notebook وتغيير الثاني للملف، يطبع show السطر الأصلي ويسرد الفرق notes.txt. يفحصان المحتوى المودع ولا يرحلان أو يستعيدان.

استخدم البحث بداية للتفسير

تضيق الرسائل والمسارات وبحث المحتوى التحقيق ولكل نطاق. يبحث -S تغير عدد ظهور نص ويطابق -G أسطراً مضافة أو محذوفة بتعبير منتظم. يستنتج النقل من التشابه والخيارات لا هوية ملف أبدية. يربط blame الأسطر بإيداعات وفق قواعده لا مسؤولية كل أثر لاحق. اقرأ السياق والاختبار والمراجعة قبل الحكم على القصد أو الصحة.

الأخطاء الشائعة وإصلاحها

يعرض النطاق إيداعات غير متوقعة

لماذا يحدث؟
اختلطت مقارنة الأطراف بمشي المراجعات.
كيف تصلحه؟
حدد هل السؤال عن الإيداعات أم الشجرة.
كيف تتجنب تكراره؟
افحص معنى النقطتين والثلاث بالأمر.

يبدو الملف بلا تاريخ سابق

لماذا يحدث؟
حد مرشح المسار أو استنتاج النقل العرض.
كيف تصلحه؟
افحص الرسم الأوسع والتاريخ المراعي للنقل.
كيف تتجنب تكراره؟
افصل العرض المرشح عن ادعاء التاريخ الكامل.

يستخدم الوقت لاستنتاج النسب

لماذا يحدث؟
اختلط ترتيب البيانات بعلاقات الآباء.
كيف تصلحه؟
افحص الآباء والرسم مباشرة.
كيف تتجنب تكراره؟
ميّز التاريخين والنسب.

اختبر فهمك

1. تحتاج تغييرات فرع منذ قاعدته المشتركة مع main. أي مقارنة؟

اعرض الحل المشروح

يقارن الفرق ثلاثي النقاط من main للفرع قاعدة الدمج برأسه. تحقق من الأساس والأسماء. تشمل مقارنة الرأسين فروق تقدم main المستقل.

2. يشير blame لإيداع تنسيق. كيف تتابع؟

اعرض الحل المشروح

افحص التاريخ الأسبق بخيارات مسافة أو حركة مناسبة ثم التغيير السلوكي والاختبارات. نسبة السطر قرينة لا إثبات سبب أو قصد.

أهم ما تعلمته

  • تجيب مناظر التاريخ أسئلة محدودة عن رسم.
  • لترقيم النطاق معنى خاص بالأمر.
  • افحص المحتوى السابق دون إزعاج العمل الحالي.

المراجع الرسمية