كيف يمكنني عرض تاريخ Commit في Git؟
Git هو أحد أكثر أنظمة التحكم في الإصدارات شيوعًا واستخدامًا في عالم تطوير البرمجيات. يُعد تتبع تغييرات الكود عبر commits جزءًا أساسيًا من عملية إدارة المشاريع البرمجية، حيث يتيح للمطورين مراجعة التعديلات، تحديد المشاكل، والعمل بكفاءة ضمن فرق. في هذا المقال، سنشرح كيفية عرض تاريخ commit في Git باستخدام عدة طرق وأوامر تساعدك على تحقيق أقصى استفادة من هذا النظام.
ما هو Commit في Git؟
في Git، commit يمثل وحدة من التغيير يتم حفظها في مستودع الكود. يحتوي كل commit على معلومات مثل معرف فريد (hash)، المؤلف، الرسالة التي تصف التغيير، وتاريخ ووقت إنشاء التغيير. من خلال هذه المعلومات، يمكنك العودة إلى إصدارات سابقة من الكود أو مراجعة سجل التعديلات الذي تم إجراؤه.
كيفية عرض تاريخ Commit في Git
لإظهار تاريخ التعديلات في مشروعك، يوفر Git مجموعة من الأوامر المفيدة. دعنا نتعرف على أشهر هذه الأوامر وكيفية استخدامها.
git log
أمر git log
هو الأكثر شيوعًا واستخدامًا لعرض تاريخ commit في مستودع Git. يعرض هذا الأمر قائمة بجميع التعديلات مرتبة زمنياً من الأحدث إلى الأقدم.
git log
سيظهر الناتج على النحو التالي:
commit abc1234567890abcdef
Author: John Doe <john.doe@example.com>
Date: Mon Dec 25 10:00:00 2023 +0300
Fixed bug in authentication module
يمكنك أيضًا تحسين طريقة عرض git log
باستخدام الخيارات الإضافية.
خيارات لتحسين git log
--oneline
: يعرض تاريخ commit بشكل مختصر في سطر واحد لكل commit.
git log --oneline
الناتج:
abc1234 Fixed bug in authentication module
def5678 Updated README file
--graph
: يعرض شجرة رسومية لتاريخ commit تُظهر الفروع المتداخلة.git log --graph
--author
: لتصفية commits حسب المؤلف.git log --author="John Doe"
--since
و--until
: لعرض commits ضمن فترة زمنية محددة.git log --since="2023-01-01" --until="2023-12-31"
git show
إذا كنت ترغب في رؤية تفاصيل commit واحد فقط، يمكنك استخدام أمر git show
. يجب تحديد معرف commit (hash) الذي ترغب في عرضه.
git show abc1234567890abcdef
الناتج يشمل تفاصيل التغيير مثل الملفات التي تم تعديلها، السطور المضافة أو المحذوفة، بالإضافة إلى معلومات المؤلف والتاريخ.
git log --pretty
لتخصيص مخرجات أمر git log
، يمكنك استخدام الخيار --pretty
لتنسيق النتائج بطريقة معينة.
git log --pretty=oneline
: يعرض كل commit في سطر واحد.git log --pretty=format:"%h - %an, %ar : %s"
: تخصيص العرض باستخدام متغيرات مثل:%h
: المعرف المختصر للـ commit.%an
: اسم المؤلف.%ar
: الوقت بالنسبة إلى الزمن الحالي (مثلاً “قبل 3 أيام”).%s
: رسالة commit.
git log --pretty=format:"%h - %an, %ar : %s"
الناتج:
abc1234 - John Doe, 2 days ago : Fixed bug in authentication module
git log -p
إذا كنت بحاجة لرؤية تفاصيل التغييرات التي حدثت في كل commit، يمكنك استخدام الخيار -p
مع أمر git log
.
git log -p
سيعرض هذا الأمر اختلافات (diff) الملفات التي تم تعديلها لكل commit.
عرض تاريخ Commit في واجهات مرئية
بالإضافة إلى الأوامر النصية، يمكنك استخدام أدوات واجهة المستخدم الرسومية (GUI) لعرض تاريخ commit بسهولة:
- GitHub: إذا كنت تستخدم GitHub، يمكنك عرض تاريخ commit مباشرة من واجهة المستودع في علامة التبويب “Commits”.
- GitKraken: أداة GUI قوية تعرض سجل commit بطريقة رسومية مع ميزات إضافية مثل إدارة الفروع.
- Sourcetree: أداة شائعة لإدارة المستودعات Git تعرض تاريخ commit بشكل مرئي.
نصائح لتحسين إدارة Commit في Git
إليك بعض النصائح لتحسين إدارة commit في مشاريعك:
- احرص على كتابة رسائل commit واضحة وموجزة.
- قسّم التغييرات الكبيرة إلى commits صغيرة لتحسين التتبع.
- استخدم فروعًا منفصلة للعمل على ميزات جديدة أو إصلاح الأخطاء، ثم قم بالدمج عند الانتهاء.
الخاتمة
عرض تاريخ commit في Git هو مهارة أساسية للمطورين الذين يرغبون في تتبع تغييرات الكود، فهم التاريخ البرمجي للمشروع، وحل المشاكل بشكل أسرع. باستخدام الأوامر المشروحة في هذا المقال، يمكنك إدارة مستودعاتك بكفاءة أعلى. إذا كنت مبتدئًا، ننصحك بتجربة هذه الأوامر على مشروع صغير لفهم كيفية عملها بشكل عملي.