يعد تاريخ المشروع أحد أهم الخدمات الأساسية التي تقدمها Git. نظرًا لأن Git يتتبع جميع التغييرات التي تم إجراؤها على الملفات داخل المستودع ، فيمكنه تقديم ميزات تسجيل قوية للغاية. يمكنك الاستعلام عن محفوظات المشروع بعدة طرق مختلفة ويمكنك استخراج البيانات المتنوعة وعرضها باستخدام أمر واحد مرن.

ال سجل بوابة الأمر ضخم ، وهو الأكبر في أي أمر Git عادي. يبلغ طول دليله أكثر من 2500 سطر. لحسن الحظ، سجل بوابة يوفر الكثير من أكثر سلوكياته فائدة من خلال عدد قليل من الخيارات الرئيسية.

التسجيل الأساسي مع السلوك الافتراضي

بشكل افتراضي، سجل بوابة يعرض قائمة بالتسلسل الزمني العكسي للالتزامات. يشتمل كل التزام على رسالة التجزئة والمؤلف والتاريخ والالتزام:

يستخدم الأمر جهاز استدعاء (على سبيل المثال ، أقل ، أكثر) لإظهار الإخراج الكامل حتى تتمكن من التنقل بسهولة في النتائج. يمكنك تكوين Git لاستخدام برنامج من اختيارك ، مثل أكبر عدد من أجهزة النداء.

إليك بعض مخرجات سجل git من مستودع كود المصدر git بحد ذاتها:

الالتزام 670b81a890388c60b7032a4f5b879f2ece8c4558 (رأس -> رئيسي ، أصل / التالي ،
أصل / ماجستير ، أصل / رأس)
instagram viewer

المؤلف: جونيو سي هامانو
التاريخ: الاثنين 14 حزيران (يونيو) 13:23:28 2021 +0900
الدفعة الثانية
التوقيع: جونيو سي هامانو

تبدأ النتيجة بتجزئة الالتزام (670...) متبوعة بقائمة الفروع التي تشير حاليًا إلى هذا الالتزام (رأس -> سيد، إلخ.)

يصف السطر التالي مؤلف هذا الالتزام ، مع ذكر اسمه وعنوان بريده الإلكتروني.

يتبع التاريخ والوقت الكامل للالتزام في السطر التالي.

أخيرًا ، تظهر المحتويات الكاملة لرسالة الالتزام. يمكنك التحكم في معظم الأشياء الأخرى التي يقدمها سجل git من خلال خيارات سطر الأوامر. هناك نوعان رئيسيان من الخيارات:

  • التنسيق ، الذي يحدد كيفية عرض Git لكل التزام.
  • التصفية ، والتي تحدد ما يرتكب سجل بوابة يشمل.

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

تنسيق إخراج سجل بوابة

واحدة من أبسط التعديلات هي --خط واحد الخيار الذي ينتج مخرجات موجزة للغاية:

سجل بوابة الإنترنت

يحتوي كل سطر في السجل الآن فقط على تجزئة التزام مختصر وموضوع رسالة الالتزام. هذه طريقة ممتازة للحصول على لمحة عامة عن الالتزامات الأخيرة بالمشروع:

لسوء الحظ ، مع عدم وجود سياق آخر ، فإن هذه المعلومات ليست مفيدة دائمًا. قد يمنحك إحساسًا غامضًا بالمشروع ، لكنه يفتقر إلى التواريخ والمعلومات المفيدة الأخرى حول المؤلفين والملفات.

عرض الرسم البياني للفرع

ال --رسم بياني يسمح لك الخيار بتصور العلاقات بين الفروع. إنه أمر أساسي للغاية ولكن يمكن أن يساعد في فك تشابك التاريخ المعقد.

git log --oneline --graph

متعلق ب: كيفية إنشاء فرع جديد في Git

إخراج جميل مخصص

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

سجل بوابة - جميل = قصير

هو في الأساس نفس سجل بوابة بدون التاريخ أو الرسالة الكاملة:

سجل بوابة - جميل = متصل

يعادل سجل بوابة الإنترنت.

سجل بوابة - جميل = أكمل

يتضمن الكثير من التفاصيل. حتى أنه يفصل بين المؤلف والمتعهد الذي قد يكون ، من الناحية النظرية ، شخصين مختلفين:

مع ال صيغة: متغير ، يمكنك توفير سلسلة تحتوي على أي محتوى تريده ، بما في ذلك العناصر النائبة التي يتم استبدالها ببيانات مختلفة. فيما يلي بعض الأمثلة على العناصر النائبة:

  • ٪ ح ارتكاب التجزئة
  • ٪ ح التزام التجزئة المختصرة
  • ٪ميلادي تاريخ المؤلف
  • ٪ ar تاريخ المؤلف ، نسبي
  • ٪س ارتكاب موضوع الرسالة
  • ٪ب ارتكاب نص الرسالة
  • ٪ ص تجزئات أصل مختصرة

يمكنك إضافة أحرف ثابتة إلى الإخراج وتلوينها. يوضح هذا المثال أيضًا تباينًا في تنسيق التاريخ:

سجل git - جميل = التنسيق: '٪ C (تلقائي)٪ h [٪ ad]٪ s' - التاريخ = قصير

لاحظ أن التاريخ بين قوسين. مهما كان التنسيق الذي تختاره ، إذا كنت تريد أن يكون الإخراج مفيدًا في خط أنابيب أو لأشكال أخرى من معالجة النص ، فيجب أن تفكر في كيفية تحديد كل جزء من الإخراج.

إظهار الفروق في السجل

من التفاصيل المهمة عند النظر إلى تاريخ المستودع الاختلافات نفسها. إنها تمثل ما تم تغييره بالفعل في الشفرة ، بعد كل شيء! بالنسبة للمبتدئين ، يمكنك الحصول على ملخص بالتغييرات جنبًا إلى جنب مع كل استخدام - قصير:

سجل بوابة - shortstat

هذا يضيف سطرًا مثل:

تم تغيير ملف واحد ، وإدخال 48 (+) ، وحذفان (-)

إلى أسفل كل التزام. سترى غالبًا هذا النوع من الملخص - عبر صفحات على GitHub ، على سبيل المثال - وهي طريقة مفيدة للحكم بسرعة على نطاق التزام معين. لمزيد من المعلومات التفصيلية ، يمكنك تضمين إخراج التصحيح الكامل (فرق) باستخدام امتداد -p علم:

بوابة الدخول ص

تصفية مخرجات سجل بوابة

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

التقييد بالمبلغ

إذا كنت ترغب فقط في قص النتائج لإظهار الالتزامات القليلة الأخيرة ، فاستخدم -[عدد] بناء الجملة:

بوابة سجل -2

التقييد حسب التاريخ

لتقييد مجموعة الالتزامات بنطاق زمني معين ، استخدم --حيث (--بعد) و --حتى (--قبل) والخيارات. يأخذ كل منها تاريخًا بتنسيق ISO 8601. يمكنك استخدام أي منهما --حيث أو --حتى من تلقاء نفسها ، أو كليهما معًا لتحديد نطاق. الخيارات --بعد و --قبل هي مرادفات.

سجل بوابة - منذ = "2021-01-01" --until = "2021-05-01"

التقييد بالملف

يمكن أن يركز سجل Git على ملف معين بدلاً من كل ملف في المستودع الخاص بك. هذا مفيد لمساعدتك في معرفة كيف تغير ملف معين بمرور الوقت. ما عليك سوى إلحاق اسم الملف بنهاية أمر git:

اسم ملف سجل بوابة

سترى فقط تلك الالتزامات التي تأثرت اسم الملف.

الاختلافات بين الفروع

قد يكون لديك بعض المتطلبات الفريدة عند عرض سجل الفرع. على سبيل المثال ، بدلاً من مشاهدة السجل بالكامل ، قد ترغب فقط في معرفة ما تم تغييره في هذا الفرع المحدد. يمكن أن يساعد سجل Git عبر ملف المرجع 1..ref2 بناء الجملة. هناك ثلاث طرق مختلفة قليلاً يمكنك استخدامها:

  1. عرض الالتزامات الرئيسية وليس الفرع:
    سجل بوابة - أصل / فرع مباشر..أصل / رئيسي
  2. عرض الالتزامات الموجودة في الفرع ، ولكنها ليست رئيسية:
    سجل بوابة - أصل الخط /رئيسي..الأصل/فرع
  3. عرض الالتزامات الموجودة فقط في الفرع أو الرئيسي:
    سجل بوابة - أصل / فرع مباشر...الأصل / الرئيسي

تمامًا كما يمكنك عرض المحفوظات بين الفروع باستخدام ملف المرجع 1..ref2 بناء الجملة ، يمكنك أيضًا عرض المحفوظات بين العلامات بنفس الطريقة. بعد كل شيء ، كل من العلامات والفروع هي أنواع مرجعية.

سجل git --abbrev-الالتزام - جميل = التنسيق: '٪ h٪ ar٪ s' الإصدار 2.32.0-rc3..v2.32.0

إذا كنت تقوم بإعداد ملاحظات الإصدار لمشروع أكبر ، بوابة الاختصار يجب أن يكون أول منفذ للاتصال. ينتج قائمة المؤلفين مع مواضيع الالتزام بجانبهم. يمكنك تمرير نطاق مرجعي له لتقييد السجل بطريقة مشابهة لـ git log:

بوابة الاختصار v2.32.0-rc3..v2.32.0

ال أمر git show هو أكثر تنوعًا من سجل بوابة. يمكن أن يعمل مع العلامات وأنواع أخرى من كائنات git خارج سجل الالتزام. تشترك في العديد من الخيارات مع سجل بوابة، ولكنك ستحتاج إليها حقًا فقط إذا كنت بحاجة إلى البحث في التفاصيل ذات المستوى الأدنى.

مراجعة الماضي مع Git Log

يعد Git log أمرًا معقدًا ، ولكن يمكنك الاستفادة كثيرًا من خياراته الأساسية. يعد تصفح سجل المستودع طريقة ممتازة لفهم عدد المرات التي تحدث فيها التغييرات وعدد الأشخاص الذين يقومون بها. بمجرد أن يكون لديك فهم جيد لتاريخ المشروع ، ستكون في وضع رائع للمساهمة فيه بنفسك.

بريد إلكتروني
انضم إلى اتجاه الترميز الاجتماعي وساهم في مستودعات GitHub

هل تريد تمرين عضلات الترميز الخاصة بك والمساعدة في مشاريع مفتوحة المصدر؟ إليك كيفية المساهمة في GitHub.

اقرأ التالي

مواضيع ذات صلة
  • برمجة
  • جيثب
  • نصائح الترميز
عن المؤلف
بوبي جاك (54 المقالات المنشورة)

بوبي متحمس للتكنولوجيا وعمل كمطور برمجيات لأكثر من عقدين من الزمن. إنه شغوف بالألعاب ، ويعمل كمحرر المراجعات في مجلة Switch Player ، وهو منغمس في جميع جوانب النشر عبر الإنترنت وتطوير الويب.

المزيد من Bobby Jack

اشترك في نشرتنا الإخبارية

انضم إلى النشرة الإخبارية لدينا للحصول على نصائح تقنية ومراجعات وكتب إلكترونية مجانية وصفقات حصرية!

خطوة أخرى أيضا…!

يرجى تأكيد عنوان بريدك الإلكتروني في البريد الإلكتروني الذي أرسلناه لك للتو.

.