كيف يمكنني عرض تاريخ commit لملف معين في Git؟

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

ما هو commit في Git؟

الـ commit هو بمثابة لقطة لحالة المشروع في وقت معين. عند إجراء تغييرات على الملفات في مستودع Git، يمكن للمطور أن يقوم بعمل commit لتوثيق هذه التغييرات. يحتوي كل commit على معرف فريد يُسمى SHA-1 hash، بالإضافة إلى معلومات إضافية مثل اسم المؤلف، تاريخ التغيير، ورسالة وصفية.

لماذا قد تحتاج إلى عرض تاريخ commit لملف معين؟

هناك العديد من الأسباب التي قد تدفعك إلى عرض تاريخ commit لملف معين:

  • معرفة من قام بإجراء تغييرات على الملف.
  • استعراض التعديلات السابقة لاستكشاف الأخطاء.
  • تحليل كيفية تطور الملف مع مرور الوقت.
  • التأكد من أن التغييرات الأخيرة تم تضمينها في الملف.

الأوامر المستخدمة لعرض تاريخ commit لملف معين

Git يوفر العديد من الأوامر التي يمكن استخدامها لعرض تاريخ commit لملف معين. دعونا نناقش بعضها بالتفصيل.

1. استخدام الأمر git log

الأمر git log هو أحد الأوامر الأساسية في Git ويُستخدم لاستعراض تاريخ commit في المستودع. لعرض تاريخ commit لملف معين، يمكن استخدام الصيغة التالية:

git log -- [اسم_الملف]

على سبيل المثال، إذا كنت تريد عرض تاريخ commit للملف main.py، يمكنك كتابة:

git log -- main.py

سيعرض هذا الأمر قائمة بجميع commits التي أثرت على الملف main.py. يتضمن الإخراج المعلومات التالية لكل commit:

  • SHA-1: المعرف الفريد للـ commit.
  • المؤلف: اسم الشخص الذي أجرى التغيير.
  • التاريخ: وقت إجراء التغيير.
  • الرسالة: وصف التغيير.

2. إضافة خيارات لتحسين عرض السجل

يمكن تحسين عرض النتائج باستخدام خيارات إضافية. على سبيل المثال:

git log --pretty=format:"%h - %an, %ar : %s" -- main.py

هذا الأمر يعرض تاريخ commit بشكل مختصر مع التفاصيل التالية:

  • %h: المعرف المختصر للـ commit.
  • %an: اسم المؤلف.
  • %ar: الوقت منذ إجراء التغيير (مثل “قبل يومين”).
  • %s: رسالة commit.

3. عرض التغييرات التي تم إجراؤها باستخدام git log -p

إذا كنت تريد رؤية تفاصيل التغييرات التي تم إجراؤها في كل commit على الملف، يمكنك استخدام الخيار -p مع الأمر git log:

git log -p -- main.py

سيعرض هذا الأمر الفرق (diff) بين كل commit والـ commit السابق له.

4. عرض تاريخ مختصر باستخدام git log --oneline

لعرض تاريخ commit بشكل مختصر، يمكنك استخدام الخيار --oneline:

git log --oneline -- main.py

سيعرض هذا الأمر قائمة مختصرة بالـ commits التي أثرت على الملف مع المعرف ورسالة commit.

5. استخدام الأمر git blame

الأمر git blame يُستخدم لتحديد من قام بتعديل كل سطر في الملف. يمكن استخدامه لمعرفة commit المسؤول عن تعديل معين:

git blame main.py

سيعرض هذا الأمر معلومات تفصيلية عن كل سطر في الملف، بما في ذلك معرف commit، اسم المؤلف، وتاريخ التغيير.

6. مقارنة التواريخ باستخدام git log --stat

لعرض إحصائيات عن التغييرات التي أثرت على الملف، يمكنك استخدام الأمر:

git log --stat -- main.py

هذا الأمر يعرض عدد السطور التي تمت إضافتها أو حذفها في كل commit.

أمثلة عملية

لنفترض أنك تعمل على مشروع يحتوي على ملف يسمى index.html وترغب في معرفة تاريخه. يمكنك تنفيذ الأوامر التالية:

  • لعرض جميع commits التي أثرت على الملف: git log -- index.html
  • لرؤية التغييرات المفصلة: git log -p -- index.html
  • لعرض تاريخ مختصر: git log --oneline -- index.html
  • لتحديد من قام بتعديل كل سطر: git blame index.html

نصائح إضافية

عند استخدام Git لتحليل تاريخ الملفات، من المفيد معرفة بعض الأوامر والخيارات الإضافية. حاول تجربة الخيارات المختلفة لتحسين النتائج بما يتناسب مع احتياجاتك.

الخلاصة

Git يوفر مجموعة قوية من الأدوات لعرض وتحليل تاريخ commit للملفات. باستخدام الأوامر مثل git log وgit blame، يمكنك بسهولة استكشاف التعديلات التي أثرت على ملف معين ومعرفة المزيد عن كيفية تطور المشروع. سواء كنت تبحث عن معلومات تفصيلية أو عرض مختصر، فإن Git يوفر لك الخيارات اللازمة لإدارة المستودعات بفعالية.

جرب الأوامر المذكورة أعلاه في مشاريعك لتتعرف على إمكانيات Git بشكل أعمق.